zcmu.oj-1055 倒咖啡(辗转相除法)

Description

现有两只杯子A, B,没有标明刻度,不过我们知道A, B的容量分别为是VA, VB。
请问是否可以使用A, B两个杯子,用尽你可以想到的方法恰好将B中倒入容量为V的咖啡。

Input

多组测试数据,
每一行输入V, VA, VB。 (1<= VA<=VB<= 1000,1<=V<=VB),
假设倒的过程中不会溅出,
假设有足够的咖啡供你使用,
A,B中的咖啡可以互相倒入。

Output

如果可以,输出"YES",否则输出"NO"

Sample Input

15 3 20

Sample Output

YES



分析:

这道题目只要找出A,B两个杯子容量的最大公约数,然后判断是否可以被所要量取容量整除。

代码:

#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
int gcd(int a,int b);
int main()
{
    int v,a,b;
    while(~scanf("%d %d %d",&v,&a,&b))
    {
        int x;
        x=gcd(a,b);
        if(v%x==0)printf("YES\n");
        else printf("NO\n");
    }
return 0;
}
int gcd(int a,int b)
{
    while(b>0)
    {
        int t=a%b;
        a=b;
        b=t;
    }
    return a;
}

猜你喜欢

转载自blog.csdn.net/kyrieee/article/details/80181394