zoukankan      html  css  js  c++  java
  • csu 1054 约瑟夫环

    约瑟夫环的一个特殊情形:m = 2;

    "我们把k设为2,然后给n个人,如果最后留下来的人是编号为n,那么n就叫fix number.

    现在的问题是,如果给出一个数,要求输出是不是fix number.如果是fix number的话,就输出"Oh,It's a fix number",如果不是的话就输出"Sorry,It isn't a fix number""

    开始我怀疑形如 2^n-1 是 fix number(充要),只是通过拿 7 和 3 试验感觉到的,后来看了维基百科中的一段话(对k=2情况的讨论)后确信了。

    下面的代码是AC了的,本来提交前运行结果不对来着,以为是 long long 对逻辑运算不支持(==!),后来又查了一遍,才发觉是我用的GCC不支持%lld,最后本机调试用的%I64d,提交用的%lld,就通过了。

    /* csu 1054 */
    # include <stdio.h>

    int main()
    {
    long long int a;

    while (~scanf("%lld", &a))
    if ((a & (a+1)) == 0)
    printf("Oh,It's a fix number\n");
    else printf("Sorry,It isn't a fix number\n");

    return 0;
    }



  • 相关阅读:
    startup毕业论文
    LeetCode OJ
    LeetCode OJ
    LeetCode OJ
    LeetCode OJ
    LeetCode OJ
    install
    逻辑卷(lv)管理(LVM)
    mke2fs
    cat & 文件结束符
  • 原文地址:https://www.cnblogs.com/JMDWQ/p/2380914.html
Copyright © 2011-2022 走看看