c/c++ programming question: monkey king selection (two methods using array and linked list)
发布时间
阅读量:
阅读量
题目描述
一群猴子需要选出新的猴王。新猴王的选定方式为:将N只候选猴子围成一个圈,从某一位置开始依次编号为1至N。从编号为1的猴子开始进行报数,每轮报数从1到3,凡是报到3的猴子将被淘汰出局。随后,从被淘汰猴子的下一只猴子开始继续进行相同的报数流程。如此反复循环,直至只剩下最后一只猴子,该猴子即被选为猴王。请问,最终当选猴王的是最初编号为多少的猴子?
输入
输入内容为一行中提供一个正整数N(不超过1000)。
输出
在一行中输出所选猴王的原始编号。
样例输入
11
示例输出
7
以下为AC代码实现:
#include "iostream"
using namespace std;
int main(int argc, char* argv[])
{
int count=0,num,i;
int a[1010],n;
cin>>n;
num=n;//记录未退出的猴子数
for (i=1;i<=n;i++)
{
a[i]=1;//每个猴子标记为1,表示该猴子未退出
}
while(num!
全部评论 (0)
还没有任何评论哟~
