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