#include <iostream>
#include <cstdio>
using namespace std;
int gcd(int a,int b){
//cout<<a<<" "<<b<<endl;
if(!b)
return a;
return gcd(b,a%b);
}
int main()
{
freopen("i.txt","r",stdin);
int s,m;
while(cin>>s>>m){
printf("dd",s,m);
//cout<<s<<" "<<m<<endl;
//cout<<gcd(s,m)<<endl;
if(gcd(s,m)==1)
cout<<" Good Choice"<<endl;
else
cout<<" Bad Choice"<<endl;
cout<<endl;
}
return 0;
}
1.完全剩余系:一个模m完全剩余系是一个整数的集合,使得每个整数恰和此集合中的一个元素模m同余.
2.定理: 若r1,r2……rm是一个模的完全剩余系,且正整数a使得(a,m)=1,即a,m互素,则对于任何整数b,
a*r1+b,a*r2+b,……,a*rn+b,都是模m的完全剩余系.
证明:
假设:存在j!=k有a*rj+b≡a*rk+b(mod m),
则a*rj≡a*rk(mod m).
因为(a,m)=1,所以rj≡rk(mod m).
推出j==k,与j!=k矛盾.
3.关于这个题,补充一下:其实题目中的那个递推公式的解就是1.当n==1是,s1=STEP%MOD,2.其他sn=(n*STEP)%MOD