poj 3372(找规律)

Posted AC菜鸟机

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了poj 3372(找规律)相关的知识,希望对你有一定的参考价值。

Candy Distribution
Time Limit: 1000MS   Memory Limit: 65536K
Total Submissions: 6033   Accepted: 3351

Description

N children standing in circle who are numbered 1 through N clockwise are waiting their candies. Their teacher distributes the candies by in the following way:

First the teacher gives child No.1 and No.2 a candy each. Then he walks clockwise along the circle, skipping one child (child No.3) and giving the next one (child No.4) a candy. And then he goes on his walk, skipping two children (child No.5 and No.6) and giving the next one (child No.7) a candy. And so on.

Now you have to tell the teacher whether all the children will get at least one candy?

Input

The input consists of several data sets, each containing a positive integer N (2 ≤ N ≤ 1,000,000,000).

Output

For each data set the output should be either "YES" or "NO".

Sample Input

2
3 
4

Sample Output

YES
NO
YES


老师给糖给 1 2号学生,然后接下来隔着一个学生给糖,隔着两个学生给糖,问一直这样下去,是否所有学生都会拿到糖?

找规律,判断 n是否为 2^k...快速判断 n是否为 2的指数幂的方法 n&n-1...
#include <stdio.h>
#include <algorithm>
#include <string.h>
using namespace std;
typedef long long LL;
const int N = 1005;

int main()
{
    int n;
    while(scanf("%d",&n)!=EOF){
        if((n&(n-1))==0) printf("YES\n");
        else printf("NO\n");
    }
    return 0;
}

 

以上是关于poj 3372(找规律)的主要内容,如果未能解决你的问题,请参考以下文章

poj3372

POJ 2484 A Funny Game(找规律)

[POJ3372]Candy Distribution

POJ 2505 A multiplication game(找规律博弈/贪心)

POJ 1740 A New Stone Game 又是博弈论配对找规律orz 博弈论 规律

POJ - 2586 Y2K Accounting Bug (找规律)