题目:seed(x+1) = [seed(x) + STEP] % MOD
随机数在0到mod之间
按式遍历过全部0到mod-1之间的数即为成功
例如:step=3,mod=5;遍历为0,3,1,4,2,成功
输入:
3 5 15 20 63923 99999
输出:
3 5 Good Choice 15 20 Bad Choice 63923 99999 Good Choice
代码:
#include<iostream>
using namespace std;
int main()
{
int step,mod;
int panduan=0;
cin>>step;
cin>>mod;
int x[100000];
x[0]=0;
for(int j=1;j<mod;j++)
{
x[j]=x[j-1]+step;
x[j]=x[j]%mod;
if(j!=1&&x[j]==step)
{
panduan=0;
break;}
else
panduan=1;
}
if(panduan==1)
cout<<step<<" "<<mod<<" "<<"Good Choice"<<endl;
else
cout<<step<<" "<<mod<<" "<<"Bad Choice"<<endl;
return 0;
}
运行结果: