小孩出圈问题
来源:互联网 发布:软件架构有哪几种 编辑:程序博客网 时间:2024/05/17 01:25
题目:有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;
}
- 小孩出圈问题
- 小孩出圈问题
- 出圈问题
- 出圈问题
- 出圈问题
- 出圈问题
- 出圈问题
- 约瑟夫出圈问题
- 约瑟夫出圈问题
- 出圈问题整理
- 出圈问题的代码
- C++:出圈问题
- 出圈子问题
- 出圈子问题
- 经典数组“出圈问题”
- 出圈
- 【出圈】
- 出圈问题的c++实现
- 一个比较科学的寿命测试
- 怎样将Excel中的数据导入到SQLServer2000数据库中
- GOOGLE带来的可能是一次革命
- 接口关系稳定原理探索
- 生成指定长度随机字符串函数
- 小孩出圈问题
- 将任何图片转换成3D图像
- 反射机制与系统耦合实力详解
- 图片被盗链
- 接口设计定理
- 《大国崛起》之荷兰
- applet 的一个应用实现类似迅雷流媒体感知的功能
- asp下载防盗链代码
- 我的论坛