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.代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#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;
}

 

       

 

posted @   sola94  阅读(117)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示