栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

猴子选大王2 c++

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

猴子选大王2 c++

题目描述

一群猴子要选新猴王。新猴王的选择方法是:让N只候选猴子围成一圈,从某位置起顺序编号为1~N号。从第1号开始报数,1-2,1-2的报数,凡报到2的猴子即退出圈子,接着又从紧邻的下一只猴子开始同样的报数。如此不断循环,最后剩下的一只猴子就选为猴王。请问是原来第几号猴子当选猴王?

输入格式

输入在一行中给一个正整数N(N<1000)

输出格式

在一行中输出当选猴王的编号。

输入输出样列

输入样例1:复制

 

5

输出样例1:复制

 

3

【耗时限制】1000ms 【内存限制】128MB

答案

#include
#include
#include
#include
#include
#include
#include
using namespace std;
int f[999999];
int main(){
    int n;
    cin>>n;
    int s=0;
    for(int i=1;i<=n-1;i++){
        for(int j=1;j<=2;){
            s=(s+1)%n;
            if(s==0){
                s=n;
            }
            if(f[s]==0){
                j++;
            }    
        }
        f[s]=1;
    }
    for(int i=1;i<=n;i++){
        if(f[i]==0){
            cout<             return 0; 
        }
    }
    return 0;
}

暑期编程PK赛 得CSDN机械键盘等精美礼品!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1014987.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号