用数组判断是否分布完全就可以了,输出格式要注意,代码如下:
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
int a[100000]={0};
int main()
{
int step,mod,seek;
bool mark;
while(cin>>step>>mod){
seek=0;mark=false;
memset(a,0,sizeof(a));
do{
seek=(seek+step)%mod;
a[seek]++;
}while(seek!=0);
for(int i=1;i<mod;i++)
if(a[i]==0) {mark=true;break;}
printf("%10d%10d %s\n\n",step,mod,mark?"Bad Choice":"Good Choice");
}
return 0;
}