zoukankan      html  css  js  c++  java
  • 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
    ");
            else printf("NO
    ");
        }
        return 0;
    }
  • 相关阅读:
    VS2005快捷键(转)
    codeSmish使用《转》
    WinForm TextBox数据绑定
    NetTiers抛出"Unable To Load NetTiersServiceSection“的异常
    DELPHi第三方控件使用方法(摘录)
    遠程連接操作
    不同服务器数据库之间的数据操作
    delphi 关闭 MDI 子窗体
    VSS使用手册(转)
    delphi 快捷键
  • 原文地址:https://www.cnblogs.com/liyinggang/p/5967148.html
Copyright © 2011-2022 走看看