这题毒的两批
核心思想是在乘法运算上把一个因数化作二进制数进行快速幂(防溢出)的运算
#include<bits/stdc++.h>
using namespace std;
unsigned long long a,b,p,sum=0;
int main(){
//对a进行二进制分解 然后与b相乘 最后相加
cin>>a>>b>>p;
while(b!=0){
if((b&1)!=0)sum=(sum+a)%p;
b=b>>1;
a=(a<<1)%p;
}
cout<<sum<<endl;
}