题意:没认真读,大概,就是有n给人玩找手绢的游戏,从出发点,跨过(m-1)个人循环的找问能否找到手绢;
思路:如果循环了就不能找遍每一个位置了,
比如
n=6,m=2; 1->3->5->1->3->5……,这样2,4,6永远没能查看,
而
n=6,m=5, 1->6->5->4->3->2, 这样就找遍了每一个位置
可以看出当m是n的整倍数时会出现这样的情况,即 gcd(m,n)!=1
#include<stdio.h>
using namespace std;
int gcd(int a,int b)
{
return b?gcd(b,a%b):a;
}
int main()
{
int a,b;
while(~scanf("%d%d",&a,&b),a+b!=-2)
{
if(gcd(a,b)==1) printf("YES\n");
else printf("POOR Haha\n");
}
return 0;
}