a * b mod p可以转换为 (a+a+a+a+.......+a) mod p
即为处理
a
2a
4a
8a
..........
#include<iostream>
using namespace std;
int main(){
long long a,b,p;
cin>>a>>b>>p;
long long ans = 0;
a%=p;
while(b){
if(b&1) ans = (ans+a)%p;
a = a * 2 % p;
b>>=1;
}
cout<<ans<<endl;
return 0;
}
原文地址:https://www.cnblogs.com/INnoVationv2/p/10293801.html
时间: 2024-10-15 03:16:48