快速幂之二进制

来源:互联网 发布:微信公众号seo 编辑:程序博客网 时间:2024/06/17 16:35
#include<iostream>using namespace std;int main(){int a,b,c;long long ret = 1;while(cin>>a>>b>>c){a %= c;//注意取模的运算法则while(b > 0){if(b & 1)//如果二进制中最后一位是一的话那就乘进结果{ret *= a;}a = a * a % c;//不管是不是一都得相称,类似分治的想法b >>= 1;//然后右移ret %= c;//注意取膜}cout<<ret<<endl;ret = 1;}return 0;} 

原创粉丝点击