思维题 求最小公因数

题目
题目大致意思就是找手帕,如果能遍历所有的位置就输出yes,不能遍历所有的就输出no,给出m,n,找东西的时候喜欢绕过n-1个点去找,比如 3个点,n=2,从a开始找 然后找c 再找b 那么就可以。思路拓展:如果m和n互质那么就能遍历所有点,如果有公因数且大于1就不能遍历所有点。

#include
using namespace std;
int gcd(int a,int b)
{
	return b?gcd(b,a%b):a;
}
int main()
{
	int n,m;
	while(scanf("%d%d",&n,&m)!=EOF)
	{
		if(n==-1&&m==-1)	break;
		int ans=gcd(n,m);
		if(ans==1)	printf("YES\n");
		else	printf("POOR Haha\n");
	}
	return 0;
}

你可能感兴趣的:(思维题,欧几里得)