http://acm.hdu.edu.cn/showproblem.php?pid=6440
题意:
给定一个素数p,要求定义一个加法运算表和乘法运算表,使的成立。
思路:
根据费马小定理
那么
则
代码:
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int maxn=1e5+10;
const int inf=0x7fffffff;
ll a[maxn];
priority_queue<ll, vector<ll>, greater<ll> > q;
map<ll,int>mp;
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
int p;
scanf("%d",&p);
for(int i=0;i<p;i++)
{
for(int j=0;j<p;j++)
{
printf("%d",(i+j)%p);
if(j==p-1)
printf("\n");
else printf(" ");
}
}
for(int i=0;i<p;i++)
{
for(int j=0;j<p;j++)
{
printf("%d",(i*j)%p);
if(j==p-1)
printf("\n");
else printf(" ");
}
}
}
return 0;
}