HDU6440(费马小定理)
Posted alphawa
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU6440(费马小定理)相关的知识,希望对你有一定的参考价值。
其实我读题都懵逼……他给出一个素数p,让你设计一种加和乘的运算使得[(m+n)^p = m^p+n^p]
答案是设计成%p意义下的加法和乘法,这样:[(m+n)^p \% p = m+n][m^p \% p=m][n^p \% p=n]
所以[(m+n)^p \% p=(m^p+n^p) \% p]
直接输出就行了。
int T, p;
int main() {
for (read(T); T; T--) {
read(p);
rep(i, 1, p) {
rep(j, 1, p) {
printf("%d ", (i + j - 2) % p);
}
puts("");
}
rep(i, 1, p) {
rep(j, 1, p) {
printf("%lld ", (ll)(i - 1) * (j - 1) % p);
}
puts("");
}
}
return 0;
}
以上是关于HDU6440(费马小定理)的主要内容,如果未能解决你的问题,请参考以下文章
HDU6440 Dream 2018CCPC网络赛-费马小定理
HDU6440 Dream(费马小定理+构造) -2018CCPC网络赛1003