1.2.2 hidehandkerchief(附翻译)

 

Time Limit: 10000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)

Total Submission(s): 8026 Accepted Submission(s): 2571

Problem Description

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".

儿童的时代已经过去了。你还记得你童年时发生过的事吗?我记得我经常和朋友一起玩一个叫做皮手帕的游戏。
现在我向你介绍游戏。假设有N个人玩这个游戏,坐在地上形成一个圆圈,每个人都在他们后面拥有一个盒子。还有一个漂亮的手帕藏在一个箱子里,这是盒子之一。
然后哈哈(我的一个朋友)被叫去找手帕。但他有一个奇怪的习惯。每次他将搜索当前框中由M-1框分隔的下一个框。例如,有三个框分别命名为A,B,C,现在哈哈在A的位置,现在他决定M等于2,所以他先搜索A,然后搜索C框,C由当前框A将2-1 = 1框B分开。然后他将搜索框B,然后他将搜索框A。
所以三次后,他建立了他可以找到美丽的手帕。现在我会给你N和M,你能告诉我,哈哈能否找到手帕吗?如果他能,你应该告诉我“是”,否则告诉我“可怜的哈哈”。

Input

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.

会有几个测试用例; 每个情况输入包含两个整数N和M,满足关系:1 <= M <= 100000000和3 <= N <= 100000000。 当N = -1和M = -1意味着输入大小写的结束,并且您不应该处理数据。

Output

For each input case, you should only the result that Haha can find the handkerchief or not.

对于每一个输入案例,你只应该得到哈哈可以找到手帕的结果。

Sample Input

3 2
-1 -1

Sample Output

YES

本题解题难度在于如何把查找手帕这个过程抽象出求公约数的过程

c++

#include <iostream>  
#include<string>  
using namespace std;
int gcd(int a, int b){ //函数用于递归求最大公约数
	if (b == 0)
		return a;  
	else 
		return gcd(b, a%b);  
}  
int main(){
     int m, n;  
    while (cin>>n>>m){  
        if (n == -1 && m == -1)
			break;  
        if (gcd(n,m)!=1)
			cout << "POOR Haha" << endl;  
        else   //最大公约数为1
            cout << "YES" << endl;  
    } 	
    return 0;  
} 

运行截图



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值