HDUOJ 2104 hide handkerchief /c++

来源:互联网 发布:长沙java待遇怎么样 编辑:程序博客网 时间:2024/06/15 11:41
题目主要是给一个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;}

0 0
原创粉丝点击