快速幂位运算版
Posted 秦时、长浩
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了快速幂位运算版相关的知识,希望对你有一定的参考价值。
快速幂位运算版
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 }
广告:清北学堂
以上是关于快速幂位运算版的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的 C 代码片段不起作用?简化版可以。为 unsigned long long 传递不带 VA_ARGS 的 args