zoukankan      html  css  js  c++  java
  • 【2052】猴子选大王

    Time Limit: 3 second
    Memory Limit: 2 MB

    【问题描述】

    M只猴子要选大王,选举办法如下:所有猴子按1…M编号围坐一圈,从第1号开始按顺序1,2,…,N报数,凡报到N的猴子退出到圈外,如此循环报数,直到圈内只剩下一只猴子时,这只猴子就是大王.(1<=m<=100)

    【输入】

    两行,为两个正整数m,n

    【输出】

    m+1行。猴子们顺序出圈的号数和被选为大王的猴子的号数。

    【输入样例】

    8
    3

    【输出样例】

       3(这里的每个数字占场宽4)
       6
       1
       5
       2
       8
       4
    the king is:7(单词之间空格数为1)
    

    【题解】

    用一个while rest != 1来判断结束。

    在while中嵌套一个for  1 - n 表示报n次数。用bo数组来判断某猴子是否出圈。要用while 来找未出圈的下一只猴子。

    //在引号前面多按了个空格。以后一定要避免这种低级错误啊!

    【代码】

    #include <cstdio>
    
    int m,n,rest;
    bool bo[150];
    
    void input_data()
    {
        scanf("%d",&m);
        scanf("%d",&n);
        for (int i = 1;i <= m;i++)
            bo[i] = true;
    }
    
    void get_ans()
    {
        rest = m;
        int i = 1;
        while (rest != 1) //如果剩余猴子数量不为1
            for (int j = 1;j <= n;j++) //报n次数
                {
                    while (bo[i] == false) //找下一只未出圈的猴子
                        {
                                i++;
                                if (i > m) i = 1;
                        }
                    if (j == n) //如果报到n了 就让这只猴子出圈
                        {
                                printf("%4d
    ",i);
                                bo[i] = false;
                                rest--;
                        }
                    i++; //先到下一只,具体是哪一只用上面的while 来找
                    if (i > m) i = 1;
                }
        for (int i = 1; i <= m;i++)
            if (bo[i])
                {
                    printf("the king is:%d",i);
                    break;
                }
    }
    
    int main()
    {
        input_data();
        get_ans();
        return 0;
    }
    


     

  • 相关阅读:
    hdu 2639 Bone Collector II
    文件打包bundle
    iOS UITextField垂直居中
    Mac删除废纸篓中的单一文件和文件夹
    Swift 初见
    关于 Swift
    NSString和NSDate的转换
    iOS开发之iOS7设置状态栏字体颜色
    在当前界面中隐藏状态栏
    适合所有测试人员读的书籍
  • 原文地址:https://www.cnblogs.com/AWCXV/p/7632457.html
Copyright © 2011-2022 走看看