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;
		}
	 } 
}
原文地址:https://www.cnblogs.com/YenKoc/p/12779930.html