hdu 1014 Uniform Generator(水 枚举 gcd)

题意:有一个数列 seed[x+1]=(seed(x)+step)%mod

        给出 step 和 mod

        如果求出的是以 1。。。mod-1 为循环节的数列 则为 good choice

        否则 则是 bad choice

思路:1.用标记法 如果 形成循环节时 每个数都被标记到 则good choice

        2.当两个数互素时 则 good choice

 

2.代码

#include<cstdio>

#include<cstring>

#include<iostream>

#include<algorithm>

using namespace std;

int gcd(int a,int b){return b==0?a:gcd(b,a%b); }

int main()

{

    int  a,b;

    while(scanf("%d%d",&a,&b)!=EOF)

    {

       printf("%10d%10d",a,b);

       printf("    ");

       if(gcd(a,b)==1)

       printf("%s","Good Choice\n");

       else

       printf("%s","Bad Choice\n");

       printf("\n");

    }

    return 0;

}

 

       

 

你可能感兴趣的:(generator)