Я застрял в вопросе, который попросил найти (2^n)% p, где n - очень большое число порядка 10^36, а p - простое. Как это сделать быстро? Здесь^означает мощность я наткнулся на этот алгоритм, но он дает переполнение стека в 10^36 очень большойКак найти результат (2^n)% p?
double power(double a,double b,int mod)
{
if (b==0)
return 1;
else if(b%2==0)
return square(power(a,b/2,mod))%mod;
else return power(a,b-1,mod)%mod;
}
является ли их любым другим способом или улучшение на это ??
Где вы застряли? – Ulterior