C语言随机数的一个题目,希望大神能帮一下
发布网友
发布时间:2023-11-23 18:21
我来回答
共1个回答
热心网友
时间:2024-10-27 01:39
其实就是判断是不是能产生0~n-1的所有数,产生了就记录下来,最后判断下是不是就可以了
#include <iostream>
#include <cstdio>
using namespace std;
const int SIZE = 100000;
bool isGenerate[SIZE];
int main()
{
int step, mod;
while (scanf ("%d%d", &step, &mod) != EOF)
{
bool flag = false;
for (int i = 0; i < mod; i++)
{
isGenerate[i] = false;
}
int seed = 0;
do
{
isGenerate[seed] = true;
seed = (seed + step) % mod;
}while (seed != 0);
for (int i = 0; i < mod; i++)
{
if (isGenerate[i] == false)
{
flag = true;
break;
}
}
if(!flag)
{
printf("%10d%10d Good Choice\n", step, mod);
}
else
{
printf("%10d%10d Bad Choice\n", step, mod);
}
cout << endl;
}
//system ("pause");
return 0;
}