题目主要是给一个N,N个人成一圈,给定一个M,从自身开始,每隔M-1个人,打开盒子看一个有没有手绢
主要考查是否能将所有人都查看一遍
即,N和M 是否互素
自己试一下,N=6,M=3,则只能在两个小朋友之间反复查看。
N=5,M=3,则可以查看所有的小朋友
程序如下
#include<iostream>
using namespace std;
int husu(int n,int m){
int r;
while(m){
r=n%m;
n=m; //辗转相除法 ,非常简便的求互素,不用管n和m谁大是小
m=r;
}
return n;
}
int main(){
int n,m;
bool t;
while(cin>>n>>m){
if(n==-1&&m==-1){break;}
if(husu(n,m)==1){cout<<"YES"<<endl;}
else{cout<<"POOR Haha"<<endl;}
}
return 0;
}