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位整数乘法-《算法竞赛进阶指南》

64位整数乘法讲解-And-AcWing-90. 64位整数乘法-方法二-《算法竞赛进阶指南》

ACwing90 64位整数乘法 大数乘法取模

64位整数乘法

[位运算] 64位整数乘法(mod 一个数)

64位整数乘法