您的位置:首页 > 其它

杭电。1互素

2016-05-16 22:03 309 查看
<table cellspacing="0" cellpadding="0" width="100%" align="center"><tbody><tr><td class="problem_content"><div class="panel_content">The Children’s Day has passed for some days .Has you remembered something happened at your childhood? I remembered I often played a game called hide handkerchief with my friends.
Now I introduce the game to you. Suppose there are N people played the game ,who sit on the ground forming a circle ,everyone owns a box behind them .Also there is a beautiful handkerchief hid in a box which is one of the boxes .
Then Haha(a friend of mine) is called to find the handkerchief. But he has a strange habit. Each time he will search the next box which is separated by M-1 boxes from the current box. For example, there are three boxes named A,B,C, and now Haha is at place of A. now he decide the M if equal to 2, so he will search A first, then he will search the C box, for C is separated by 2-1 = 1 box B from the current box A . Then he will search the box B ,then he will search the box A.
So after three times he establishes that he can find the beautiful handkerchief. Now I will give you N and M, can you tell me that Haha is able to find the handkerchief or not. If he can, you should tell me "YES", else tell me "POOR Haha".</div><div class="panel_bottom"> </div></td></tr><tr><td class="problem_content"><div class="panel_title" align="left">Input</div><div class="panel_content">There will be several test cases; each case input contains two integers N and M, which satisfy the relationship: 1<=M<=100000000 and 3<=N<=100000000. When N=-1 and M=-1 means the end of input case, and you should not process the data.</div><div class="panel_bottom"> </div></td></tr><tr><td class="problem_content"><div class="panel_title" align="left">Output</div><div class="panel_content">For each input case, you should only the result that Haha can find the handkerchief or not.</div><div class="panel_bottom"> </div></td></tr><tr><td class="problem_content"><div class="panel_title" align="left">Sample Input</div><div class="panel_content"><pre>3 2
-1 -1


 
[align=left]Sample Output[/align]

YES


 
 
[align=left]Source[/align]
HDU 2007-6 Programming Contest
 
[align=left]Recommend[/align]
xhd
 


判断两个数是否互质 即最大公因数为一
也就是
gcd 欧几里德算法。
。。
辗转相除法。
#include<iostream>
#include<cmath>
using namespace std;
int gcd(int m,int n)
{
if (m < n)
{
int tmp = m;
m = n;
n = tmp;
}
if (n == 0)
return m;
else
return gcd(n,m % n);
}
int main()
{
int n,m;
while(cin>>n>>m)
{
if(n==-1&&m==-1)
break;
int i,j;
int x;
int  flag;
flag=gcd(n,m);
if(flag!=1)
{
cout<<"POOR Haha"<<endl;
}
else
{
cout<<"YES"<<endl;
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: