传统弱校HFUT的蒟蒻,真相只有一个

暑假热身 E. 无聊的LSY

LSY大牛没事就爱玩游戏,包括很多很无聊的游戏。某日,LSY大牛又找到了一个无聊的游戏:每一局游戏的开始,LSY大牛将代表自己的棋子放在一个线性棋盘的最左端(第0个格子,可以认为向右端无限延伸),接着,他会从浩大的牌堆里随机摸三张牌A,B和N,在本局中,LSY大牛可以将代表自己的棋子向左或者向右移动A或者B个格子,当LSY的棋子停在了第N个格子上的时候,LSY大牛将获得本局比赛的胜利。当然,这游戏实在是有点太无聊了……于是LSY大牛希望大家写一个小程序来帮助他判断当前比赛是否能够获胜。

 

Input

测试数据有多组。每一行为一组测试数据,分别为A,B,N三个数的值(0<A,B,N<100000)。

当输入0 0 0的时候退出,此行数据不处理。
 
 

Output

对于每一组测试数据,若LSY大牛可以赢的本局比赛的胜利,则输出YES,否则输出NO。

 

Sample Input

3 5 7
2 4 5
0 0 0

Sample Output

YES
NO

#include<stdio.h>
int main()
{
    int A,B,T,S,N,M=0,Q=0,v=1,i;
    while(1)
    {
        scanf("%d %d %d",&A,&B,&N);
        if(A==0&&N==0&&B==0){break;}
        if(A==B&&N==0||A==B&&N%A==0){printf("YES\n");goto as;}
        if(A%2==0&&B%2==0&&N%2!=0){printf("NO\n");goto as;}
        if(A==1||B==1){printf("YES\n");goto as;}
        if(A>B){T=B;}
        if(A<B){T=A;}
        for(i=T-1;i>=2;i++)
        {
            if(A%i==0&&B%i==0)
            {
                v=0;break; //不互质
            }
        }

        if(v==1){printf("YES\n");goto as;}
        if(v==0)
        {
            while(1){
            if(A>B){S=A;T=B;}
            if(A<B){S=B;T=A;}
            M=S-T;
            A=M;
            B=T;
            if(M==1||M==N){printf("YES\n");goto as;}
            if(M==T&&N==0){printf("YES\n");goto as;}
            if(M==T&&N!=0){S=0;break;}
            }
            if(S==0&&N%M==0){printf("YES\n");goto as;}
        }
        printf("NO\n");
        as: A=B=T=S=N=M=Q=0;v=1;
    }
    return 0;
}
View Code


写了好多if判断有点复杂了,附上大神代码写的果然简练。

#include<stdio.h>
int main()
{
    int a, b, n;
    int i, j;    //
    while(1)
    {
        scanf("%d%d%d", &a, &b, &n);
        if( a == 0 && b == 0 && n == 0 )
            break;
        else
        {
            for( i = 1; i <= a; i++ )
            {
                if( a % i == 0 && b % i ==0 )
                    j = i;   
            }
            if( n % j == 0 )
                printf("YES\n");
            else
                printf("NO\n");
        }
    }   
    return 0;
}
View Code

 

posted @ 2015-08-16 12:06  未名亚柳  阅读(167)  评论(0编辑  收藏  举报