这题感觉主要考察输出格式的要求,顺便用到了典型的空间换时间的“设缓存”方法。
输出格式我是用字符串输出的。
简单题。
#include<stdio.h>
#include<iostream>
#include<string>
#define For(i,m,n) for(i=m;i<n;i++)
using namespace std;
int seed[100005];
void change(char s[],int n)
{
int i,j;j=9;
while(n>0)
{
i=n%10;s[j]=i+'0';
n=n/10;j--;
}
}
int main()
{
int s,m,i;
char sts[11],stm[11];
while(cin>>s>>m)
{
For(i,0,10)
{
sts[i]=' ';stm[i]=' ';
}
sts[10]=stm[10]='\0';
change(sts,s);
change(stm,m);
seed[0]=0;
i=1;
do
{
seed[i]=(seed[i-1]+s)%m;
i++;
}while(seed[i-1]!=0);
if(m==i-1)
{
cout<<sts<<stm<<" "<<"Good Choice"<<endl<<endl;
}
else
{
cout<<sts<<stm<<" "<<"Bad Choice"<<endl<<endl;
}
}
return 0;
}