快速幂
Posted ljy1227476113
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了快速幂相关的知识,希望对你有一定的参考价值。
求x的p次方对m取余的算法,运用了分治算法。
代码:
1 #include <iostream> 2 using namespace std; 3 int main() 4 { 5 int x = 10, p = 4, m = 17; 6 int result = 1; 7 while (p > 0) 8 { 9 if (p % 2 == 1) result *= x % m; 10 p /= 2; 11 x = x * x%m; 12 } 13 cout << result;//pow(x,2)%m=pow(x%m,2)%m 14 }
关键词:x^p=pow(x^2,p/2)(p为偶数),x^p=x*pow(x^2,(p-1)/2)(p为奇数)
以上是关于快速幂的主要内容,如果未能解决你的问题,请参考以下文章