费马小定理

如果 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;
}

 

posted @ 2019-07-29 20:27  correct  阅读(102)  评论(0)    收藏  举报