#include <cmath> ... static_cast<int>(std::pow(a,b))%n
, но мой лучший выбор - вы переполняете int (IE: число два больших для int) на мощности у меня была та же проблема, создавая ту же самую функцию.