zoukankan      html  css  js  c++  java
  • 数组-11. 猴子选大王(20)

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

    输入格式:

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

    输出格式:

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

    输入样例:

    11
    

    输出样例:

    7

     1 #include <iostream>
     2 #include <stdio.h>
     3 #include <math.h>
     4 #include <string.h>
     5 #include <stdlib.h>
     6 
     7 using namespace::std; 
     8 
     9 int main(){
    10       int n;
    11       scanf("%d",&n);
    12       int a[1000]={0};
    13       
    14       
    15       int i=0,j=0,flag=0,count=n;
    16       while(flag==0)
    17       {
    18           
    19           if(a[j]==0)//是否存活 
    20           {
    21             if(i%3==2)//活着,并且被选中 
    22             {
    23                 a[j]=1;
    24                 j=(j+1)%n;
    25                 count--;
    26                 i++;
    27             }
    28             else
    29             {
    30                 i++;
    31                 j=(j+1)%n;
    32             }
    33                 
    34           }
    35           else
    36         {
    37           j=(j+1)%n;    
    38           }
    39           
    40           if(count==1)
    41           {
    42               for(int k=0;k<n;k++)
    43               {
    44                   if(a[k]==0)
    45                   {
    46                     printf("%d",k+1);
    47                   }
    48               }
    49               flag=1;
    50           }
    51       }
    52       return 0;
    53 }
  • 相关阅读:
    SQL SERVER 2005添加用户和编辑sa
    数组型参数和数组的区别
    Oracle数据库建库、建表空间,建用户
    oracle表空间操作详解
    Oracle10g的完全卸载(转载)
    Delphi format的用法
    AnImateWindow用法
    文本文件操作
    TStringList的用法
    Delphi网络函数
  • 原文地址:https://www.cnblogs.com/ligen/p/4273063.html
Copyright © 2011-2022 走看看