题目大意:
根据公式seed(x+1) = [seed(x) + STEP] % MOD
算出是否能产生所有的0到MOD-1的所有数
解题思路:
无
代码如下:
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<stdlib.h>
int main()
{
int s,m;
int full[100005];
int i;
int key;
int flag;
while(scanf("%d%d",&s,&m)!=EOF)
{
memset(full,0,sizeof(full));
flag=0;
full[0]++;
key=0;
for(i=1;i<m;i++)
{
full[(key+s)%m]++;
key=(key+s)%m;
}
for(i=0;i<m;i++)
{
if((full[i]==0)||(full[i]>1))
{
printf("%10d%10d Bad Choice\n\n",s,m);
flag=1;
break;
}
}
if(!flag)
{
printf("%10d%10d Good Choice\n\n",s,m);
}
}
return 0;
}