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