费马小定理
如果 p 是一个质数,并且 a 不是 p 的倍数,那么有 a ^ (p - 1) ≡ 1 mod p
例题:
让求 a ^p mod p的结果(p 是质数)
如果 a 是 p的倍数,结果是0
如果不是,那么 a ^ p mod p = (a ^ (p - 1) * a) mod p = a mod p * a ^ (p - 1) mod p = a mod p
所以结果是 a % p == 0 ? 0 : a % p
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
typedef long long ll;
ll a, b, p, t;
namespace ans{
void MAIN(){
scanf("%lld", &t);
while (t--){
scanf("%lld %lld %lld", &a, &b, &p);
a = (a % p) + (b % p);
printf("%lld\n", a % p == 0 ? 0 : a % p);
}
}
}
int main()
{
ans::MAIN();
return 0;
}
本文来自博客园,作者:correct,转载请注明原文链接:https://www.cnblogs.com/correct/p/12862087.html

浙公网安备 33010602011771号