#include<bits/stdc++.h>
using namespace std;
int a,b,p;
int mul(int x,int y){
int ans=0;
while(y){
if(y&1)ans=(ans+x)%p;
x=x*2%p;
y>>=1;
}
return ans;
}
int main(){
cin>>a>>b>>p;
cout<<mul(a,b);
using namespace std;
int a,b,p;
int mul(int x,int y){
int ans=0;
while(y){
if(y&1)ans=(ans+x)%p;
x=x*2%p;
y>>=1;
}
return ans;
}
int main(){
cin>>a>>b>>p;
cout<<mul(a,b);
文章来源: 位运算-快速乘法