hdu 2104 hide handkerchief
题目:
分析:
1.题目意思是给定n个盒子,可以走m个步数,因为haha走的是无限个次数,那么只要把所有人都遍历到了,就找到了手帕。
2.n、m必须是互质的,才有可能完全遍历到,否则的话,会回到起点,重复
3.互质是指的最大公约数为1,这里用到欧几里得算法
代码:
#include<bits/stdc++.h>
using namespace std;
int gcd(int a,int b) //递归求解最大公约数
{
if(b==0) return a;
else return gcd(b,a%b);
}
int main()
{
int n,m;
while(cin>>n>>m)
{
if(n==-1&&m==-1)
break;
if(gcd(n,m)==1)
{
cout<<"YES"<<endl;
}else
{
cout<<"POOR Haha"<<endl;
}
}
}