快速幂位运算版

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#代码片段快速构建代码

前端开发工具vscode如何快速生成代码片段

前端开发工具vscode如何快速生成代码片段

为啥我的 C 代码片段不起作用?简化版可以。为 unsigned long long 传递不带 VA_ARGS 的 args

如何使用sublime代码片段快速输入PHP头部版本声明

[软件推荐]快速文件复制工具(Limit Copy) V4.0 绿色版