首页 > 代码库 > 快速幂位运算版
快速幂位运算版
快速幂位运算版
1 #include<bits/stdc++.h> 2 3 using namespace std; 4 5 /*int pow_mod(int x , int y , int p){ 6 int ret = 1; 7 while(y){ 8 if(y & 1) ret = (ret * x) % p; 9 printf("ret = %I64d , x = &I64d , y = %I64d\n" , ret , x , y);10 x = (x * x) % p ;11 y >>= 1;12 }13 return ret;14 }15 */16 int pow_mod(int m , int n , int k){17 int b = 1;18 while (n){19 if (n & 1)20 b = (b * m) % k;21 n = n >> 1 ;22 m = (m * m) % k;23 }24 return b;25 } 26 int main(){27 int x , y , p; //x 的 y 次幂 对 p取模28 cin >> x >> y >> p;29 cout << pow_mod(x , y , p);30 }
广告:清北学堂
快速幂位运算版
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。