`

小孩出圈问题

 
阅读更多

题目:有n个小孩按顺序号排成一圈,从第一个小孩开始1至3报数,凡报数为3的小孩从圈中走出来
求最后出圈的小孩的顺序号是多少?

思路:定义一个数组,120120这样赋值,用一个变量记录前一个数值的索引值,这样可以实现循环赋值
不断给非零的数据赋值,直到最后数组值全部为0,最后为0的数值的索引值加1即是顺序号。刚看过链表,也许还可以用链表来做。

#include <iostream.h>

int Circle(const int &n)
{
int *pa=new int[n];
bool bflag=false; //数组里面的数据是否全部为0的标志
int nlast; //上一个数据的索引号

for(int i=0;i<n;i++)
{
*(pa+i)=(i+1)%3;//给数组赋值120120
}
nlast=n-1;

while(!bflag)
{
bflag=true;
for(i=0;i<n;i++)
{
if(*(pa+i)!=0)//跳过为0的数,给非零数据重新赋值
{
*(pa+i)=(*(pa+nlast)+1)%3;
nlast=i;
bflag=false;
}
}
}
delete []pa;
pa=0;
return (nlast+1);//最后一个数据的索引值加1即为要得到的数
}

main()
{
cout<<Circle(1000)<<endl;
return 0;
}

分享到:
评论

相关推荐

    十个小孩围成一圈分糖果

    十个小孩围成一圈分糖果,老师分给第一个小孩10块,第二个小孩2块,第三个小孩8块,第四个小孩22块,第五个小孩16块,第六个小孩4块,第七个小孩10块,第八个小孩6块,第九个小孩14块,第十个小孩20块。然后所有的...

    小孩报数.cpp(基础的链表问题)

    使用链表解决小孩报数问题

    有10个小孩围成一圈并依次编号,教师指定从第2个小孩开始报数,报到第3个小孩即令其出列

    有10个小孩围成一圈并依次编号,教师指定从第2个小孩开始报数,报到第3个小孩即令其出列。然后从下一个孩子继续报数,数到第3个小孩又令其出列,如此直到所有的孩子都出列。求小孩出列的先后顺序。

    10个小孩分糖果问题源码

    十个小孩围成一圈分糖果,老师分给第一个小孩10块,第二个小孩2块,第三个小孩8块,第四个小孩22块,第五个小孩16块,第六个小孩4块,第七个小孩10块,第八个小孩6块,第九个小孩14块,第十个小孩20块。然后所有的...

    小孩报数 c#

    N个小孩围成一圈,给他们从1开始依次编号,现指定从第W个开始报数,报到第S个时,该小孩出列,然后从下一个小孩开始报数,仍是报到第S个出列,如此重复下去,直到所有的小孩都出列(总人数不足S个时将循环报数)。

    小孩倒油问题

    小孩分油问题:两个小孩去打油,一人带了一个一斤的空瓶,另一个带了一个七两、一个三两的空瓶。原计划各打一斤油,可是由于所带的钱不够,只好两人合打一斤油,在回家的路上,两人想平分这一斤油,可是又没有其他...

    一种利用labview求解Josephus问题的简单方法

    编程求Josephus问题:m个小孩围成一圈,从第一个小孩开始顺时针方向每数到第n个小孩时这个小孩就离开,最后剩下的一个小孩是胜利者。求第几个小孩是胜利者。

    matlab画出小孩沿曲线行走时玩具的轨迹

    一个小孩借助于一个长度为a的硬木棒拖着或推着一个玩具,此小孩在平面上沿着某曲线行走。计算并画出玩具的平面轨迹。

    python程序设计 小孩爬楼梯问题

    小孩爬楼梯问题从地面算起,每次可选择1,2,3阶

    labVIEW编程孩子围一圈数数

    一群孩子围成一圈进行数字游戏,第一个孩子数一,第二个数2,第三个数一,数一的孩子淘汰,最后的胜利者是谁呢???可以通过简单地编程来实现。

    java500人绕圈圈问题

    500人围成一个圈 数到3的人下个人就从1开始数 最后一个人的...//小孩玩游戏,手拉手围成一个圈,然后数数.每次数到3的时候这个小孩退出,下一个从1开始再数. //试问,如果有500个小孩,最后剩下的小孩是原来的第多少个小孩.

    采用盲目搜索实现小孩分油问题

    程序实现了下列小孩分油问题:两个小孩去打油,一人带了一个一斤的空瓶,另一个带了一个七两、一个三两的空瓶。原计划各打一斤油,可是由于所带的钱不够,只好两人合打了一斤油,在回家的路上,两人想平分这一斤油,...

    Java练习题-小孩报数问题

    计算:有10个小孩围 成一圈并依次编号,教师指定从第2个小孩开始报数,报到第3个小孩即令其出列。然后从下一个孩子继续报数,数到第3个小孩又令其出列,如此直到所有的孩子都出列。求小孩出列的先后顺序

    Josephus问题

    *Josephus问题:问题描述:一群小孩文成一个圈,任意取某一个整数n,从第一个孩子 *起,开始数数,顺时针依次数到n的孩子就退出,如此重复,直到只剩下一个孩子,既 *为胜出者。 * ********************************...

    小孩玩具车问题Matlab求解.doc

    小孩玩具车问题Matlab求解

    小孩分油程序报告

    两个小孩去打油,一人带了一个一斤的空瓶,另一个带了一个七两和一个三两的空瓶。原计划各打一斤油,可是由于所带的钱不够,只好合打了一斤油,在回家的路上,二人想平分这一斤油,可是又没有其它工具。现只用这三个...

    小孩分油问题(广度优先搜索算法)实验报告及c++程序

    小孩分油问题(广度优先搜索算法)实验报告,附带c++代码,详细流程及流程图

    十个孩子围成一圈分糖果(c++)

    十个小孩围成一圈分糖果,老师分给第一个小孩10块,第二个小孩2块,第三个小孩8块,第四个小孩22块,第五个小孩16块,第六个小孩4块,第七个小孩10块,第八个小孩6块,第九个小孩14块,第十个小孩20块。然后所有的...

    老虎吃小孩手机游戏开发关键技术

    老虎吃小孩手机游戏开发关键技术

    十二招教养出快乐的小孩

    十二招教养出快乐的小孩

Global site tag (gtag.js) - Google Analytics