码迷,mamicode.com
首页 > 其他好文 > 详细

快速幂位运算版

时间:2017-05-12 09:36:08      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:mod   show   sed   cli   快速幂   eve   技术分享   cin   div   

快速幂位运算版

技术分享
 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 }
位运算

广告:清北学堂

快速幂位运算版

标签:mod   show   sed   cli   快速幂   eve   技术分享   cin   div   

原文地址:http://www.cnblogs.com/2464638814-xch/p/6843797.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!