Я использую эту функцию:
int CalculateMod(int base, int exp ,int mod){
int result;
result = (int) pow(base,exp);
result = result % mod;
return result;
}
Я анализирую результат переменной, потому что pow возвращает вам двойной, и для использования мода вам нужны две переменные типа int, во всяком случае, в RSA расшифровка, вы должны просто использовать целые числа.