数论专题hdu2104

 

   本题题意:有N个人,一个人从1开始走,每次间隔M-1个人,问他是否能走到所有的点,并回到原点。

   代码如下:

    

#include <cstdio>
using namespace std;

int gcd(int a,int b)
{
        int r;
        while(b)
        {
                r = a % b;
                a = b;
                b = r;
        }
        return a;
}

int main(){

        int m,n;

        while(~scanf("%d%d",&m,&n) && !(m==-1&&n==-1))
        {
                if(gcd(m,n)==1)
                {
                        puts("YES");
                }
                else
                {
                        puts("POOR Haha"); 
                }
        }
        return 0;
}

这道题是一道标准的求互素的题目,求出m和n的gcd,判断是否为1,即可,这道题IO比较大,用cout和scanf差了6倍的时间。

 

posted @ 2017-09-19 00:59  mtl6906  阅读(164)  评论(0编辑  收藏  举报