猴子选大王

Problem Description

n只猴子围成一圈,顺时针方向从1到n编号。之后从1号开始顺时针方向让猴子从1,2,…,m依次报数,凡是报m的猴子,就让其出圈,取消其候选资格。然后不停地按顺时针方向逐一让报m者出圈,最后剩下一个就是猴王。

例如:n = 8, m = 3时,7是猴王。

 

Input Description

输入两个正整数n和m。

Output Description

按照格式“monkey king is: xx”输出猴大王。

Sample Input

8 3

Sample Output

monkey king is: 7

#include<stdio.h>

void hzxdw(int n,int m){

    int a[n];

    int h=1;

    int bh=0;

    int hz=0;

    int b=0;

while(h<=n){

    a[h]=1;

    h++;

}

for(hz=n;hz>1;){

    bh++;

    if(bh>n){

        bh=0;

    }

        if(a[bh]==1){

        b++;

     

    if(b==m){

        a[bh]=0;

        hz--;

        b=0;

    }

}}

h=1;

while(h<=n){

    if(a[h]==1){

        printf("monkey king is: %d",h);

    }

    h++;    

}}

int main()

{int n,m;

scanf("%d %d",&n,&m);

hzxdw(n,m);

return 0;

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值