您的位置:首页 > 其它

【HDU】 1014 Uniform Generator

2016-04-01 12:37 302 查看

Uniform Generator

题目链接

Uniform Generator

题目大意

题目中给了一个计算机做随机数的公式,现在公式中有两个数a,b,现在给你这两个数a,b,问用这两个数能取得0~b-1的随机数吗。

题解

这个题就是直接求就好…..但是网上有人说只需要判断gcd(a,b)是否等于1…关于这个求法还不是很懂,自己推也没有推出来,等以后积累多了再回头来看吧。

代码

#include <iostream>
#include <cstring>
#include <cstdio>

using namespace std;

int step,mod,flag[100000];

int main()
{
while (scanf("%d%d",&step,&mod)!=EOF)
{
memset(flag,0,sizeof(flag));
int seed=0;
while (!flag[seed])
{
flag[seed]=1;
seed=(seed+step)%mod;
}
int f=0;
for (int i=0;i<=mod-1;i++) if (!flag[i]) f=1;
if (f) printf("%10d%10d    Bad Choice\n\n",step,mod);
else printf("%10d%10d    Good Choice\n\n",step,mod);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: