64位整数乘法
Posted innovationv2
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了64位整数乘法相关的知识,希望对你有一定的参考价值。
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;
}
以上是关于64位整数乘法的主要内容,如果未能解决你的问题,请参考以下文章
64位整数乘法讲解-And-AcWing-90. 64位整数乘法-《算法竞赛进阶指南》