c艹下的 long long 乘法, 用到的算法是龟速乘法
#include<bits/stdc++.h>
using namespace std;
long long slowmul(long long a, long long b, long long p)
{
long long res = 0;
for(; b; b>>=1, a=(a+a)%p)
if(b&1) res = (res + a) % p;
return res % p;
}
int main()
{
long long a, b, p;
cin >> a >> b >> p ;
cout << slowmul(a, b, p) ;
return 0;
}
原文地址:https://www.cnblogs.com/tztqwq/p/12238069.html
时间: 2024-12-15 18:47:30