好久没有做题了,今天到HDUoj上转转,结果才几周没有写代码,感觉大脑反应有点迟钝,一个随机数分配题目让我弄了一个小时,由此可知学习必须持之以恒,不得有半点松懈。。
作者:四川大学 计算机学院 2008级 贾钰
#include<iostream>
using namespace std;
const long int MAX_L=100000;
bool genl[MAX_L]={false};
void genlk(int step,int mod)
{
int temp(0),i(0),seed(0);
for(;i<mod;i++)
genl[i]=false;
genl[0]=true;
do
{
temp=(seed+step)%mod;
genl[temp]=true;
seed=temp;
}while(seed!=0);
for(i=0;i<mod;i++)
if(genl[i]==false)
break;
if(i==mod)
printf("%10d%10d Good Choice\n",step,mod);
else
printf("%10d%10d Bad Choice\n",step,mod);
}
int main(void)
{
int m,n;
while(cin>>m>>n)
{
genlk(m,n);
cout<<endl;
}
return 0;
}
using namespace std;
const long int MAX_L=100000;
bool genl[MAX_L]={false};
void genlk(int step,int mod)
{
int temp(0),i(0),seed(0);
for(;i<mod;i++)
genl[i]=false;
genl[0]=true;
do
{
temp=(seed+step)%mod;
genl[temp]=true;
seed=temp;
}while(seed!=0);
for(i=0;i<mod;i++)
if(genl[i]==false)
break;
if(i==mod)
printf("%10d%10d Good Choice\n",step,mod);
else
printf("%10d%10d Bad Choice\n",step,mod);
}
int main(void)
{
int m,n;
while(cin>>m>>n)
{
genlk(m,n);
cout<<endl;
}
return 0;
}
题目不是很难,只是理解起来有点费劲而已。。。
坚持不懈、挑战极限、、嘎嘎嘎嘎嘎……
转载于:https://blog.51cto.com/jeick/197328