64位整数乘法
时间限制: 1 Sec 内存限制: 128 MB
题目描述:
求a乘b对p取模的值,其中1≤a,b,p≤1018
输入:
输入3个long long型整数,a,b,p
输出:
输出a*b%p的值
样例输入:
250182048980811753 413715569939057660 133223633696258584
样例输出
19308689043391716
已AC代码:
#include<stdio.h>
int main(){
long long a,b,c;
long long res=0;
scanf("%lld%lld%lld",&a,&b,&c);
while(b){
if(b&1){
res = (res+a)%c;
}
b>>=1;
a = a*2%c;
}
printf("%lld",res);
return 0;
}