标签:int 分治算法 include class 分治 pow 运用 name ==
求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为奇数)
标签:int 分治算法 include class 分治 pow 运用 name ==
原文地址:https://www.cnblogs.com/ljy1227476113/p/9821715.html