64位整数乘法
Posted valentino
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了64位整数乘法相关的知识,希望对你有一定的参考价值。
描述
求 a 乘 b 对 p 取模的值,其中 1≤a,b,p≤10^18。
输入格式
第一行a,第二行b,第三行p。
输出格式
一个整数,表示a*b mod p的值。
代码
#include<bits/stdc++.h> using namespace std; #define ll long long ll a,b,p; ll f(ll a,ll b,ll p) ll ans=0; while(b) if(b&1) ans=(ans+a)%p; a=a*2%p; b>>=1; return ans; int main() scanf("%lld%lld%lld",&a,&b,&p); printf("%lld\\n",f(a,b,p)); return 0;
以上是关于64位整数乘法的主要内容,如果未能解决你的问题,请参考以下文章
64位整数乘法讲解-And-AcWing-90. 64位整数乘法-《算法竞赛进阶指南》