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
【分析】倒水问题,先求两个杯子容量的最大公约数,可以被所需水量整除即可
#include<bits/stdc++.h>
using namespace std;
int gcd(int b,int a)
{
int c;
c=a%b;
while(c!=0)
{
a=b;
b=c;
c=a%b;
}
return b;
}
int main()
{
int v,va,vb;
while(cin>>v>>va>>vb)
{
if(v%gcd(va,vb)==0)
cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}
return 0;
}