poj3372 Candy Distribution---找规律

来源:互联网 发布:三哥平面优化 编辑:程序博客网 时间:2024/05/16 10:12
Candy Distribution
Time Limit: 1000MS Memory Limit: 65536KTotal Submissions: 5071 Accepted: 2767

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

23 4

Sample Output

YESNOYES

Source

POJ Monthly--2007.09.09,ailyanlu@zsu
2的n次幂YES~~~
#include<iostream>#include<cstdlib>#include<stdio.h>#include<math.h>using namespace std;int main(){    long long n;    while(scanf("%I64d",&n)!=EOF)    {      int cc=0;      while(1)      {          long long res=pow(2,cc+0.0);          if(res==n){puts("YES");break;}          if(res>n){puts("NO");break;}          cc++;      }    }}

原创粉丝点击