快速积**AcWing 90. 64位整数乘法
原题链接:https://www.acwing.com/problem/content/92/
求 a 乘 b 对 p 取模的值。
输入格式
第一行输入整数a,第二行输入整数b,第三行输入整数p。
输出格式
输出一个整数,表示a*b mod p的值。
数据范围
1≤a,b,p≤10181≤a,b,p≤1018
输入样例:
3 4 5
输出样例:
2
快速积**
#include<iostream> #include<cstdio> #define ll long long using namespace std; int main(){ ll a,b,p,res=0; scanf("%ld",&a); scanf("%ld",&b); scanf("%ld",&p); while(b){ if(b&1) res=(res+a)%p; a=(a+a)%p; b>>=1; } printf("%ld\n",res); return 0; }

浙公网安备 33010602011771号