zoukankan      html  css  js  c++  java
  • 猴子报数

    n个猴子围坐一圈并按照顺时针方向从1到n编号,从第s个猴子开始进行1到m的报数,报数到第m的猴子退出报数,从紧挨它的下一个猴子重新开始1到m的报数,如此进行下去知道所有的猴子都退出为止。求给出这n个猴子的退出的顺序表。

    输入

    有做组测试数据.每一组数据有两行,第一行输入n(表示猴子的总数最多为100)第二行输入数据s(从第s个猴子开始报数)和数据m(第m个猴子退出报数).当输入0 0 0时表示程序结束.

    输出

    输出中,每组数据的输出结果为一行,中间用逗号间隔。

    样例输入

    10
    2 5 
    5
    2 3 
    0
    0 0
    
    

    样例输出

    6,1,7,3,10,9,2,5,8,4
    4,2,1,3,5
    #include<stdio.h>
    int main()
    {
        int n,s,m,count,size,i,t;
        count=1;
        while(scanf("%d
    %d%d",&n,&s,&m)!=EOF)
        {
            int a[100];
            for(i=0;i<n;i++)
            {
                a[i]=i+1;
            }
            if(n==0&&s==0&&m==0)
            {
                break;
            }
            else
            {
                size=n;
                s=s-1;
                while(size!=1)
               {
                   while(count<m)
                   {
                       if(a[s]!=0)
                       {
                           count++;
                           s=(s+1)%n;
                           while(a[s]==0)  
                        {  
                            s=(s+1)%n;  
                        }  
                       }
                       else
                       {
                           s=(s+1)%n;
                           while(a[s]==0)  
                        {  
                            s=(s+1)%n;  
                        }  
                       }
                   }
                    a[s]=0;
                    size--;
                    count=1;
                    t=s+1;
                    printf("%d,",t);
                    while(a[s]==0)  
                        {  
                            s=(s+1)%n;  
                        }  
                }
            }
            for(i=0;i<n;i++)
            {
                if(a[i]!=0)
                {
                    i=i+1;
                    printf("%d
    ",i);
                }
            }
        }
        return 0;
    }
  • 相关阅读:
    【转】教你爱上Blocks(闭包)
    【转】iOS Developer:真机测试
    bzoj1231 混乱的奶牛
    bzoj2064 分裂
    洛谷P2051 中国象棋
    洛谷P2607 骑士
    洛谷P1879 玉米田
    洛谷P3694 邦邦的大合唱
    openjudge dp水题记录
    bzoj1191 超级英雄
  • 原文地址:https://www.cnblogs.com/Lazy-Cat/p/9838021.html
Copyright © 2011-2022 走看看