n 个人围成一圈(编号1-n),数到3的出列,最后剩下的人的编号
来源:互联网 发布:淘宝商城检测办理 编辑:程序博客网 时间:2024/05/04 12:52
问题:
n 个人围成一圈(编号1-n),数到3的出列,然后又从头开始数,一直循环到最后一个人,请问最后剩下的人的编号?
public int numberToExit(int total, int interval) {boolean[] arr = new boolean[total];for(int i = 0; i < arr.length; i++) {arr[i] = true;}int left = arr.length;int count = 0;int index = 0;while (left > 1) {if(arr[index] == true) {count++;if(count == 3) {count = 0;arr[index] = false;left--;}}// we need to change the index if out of range.index++;if(index == arr.length) {index = 0;}}for(int i = 0;i < arr.length; i++) {if(arr[i] == true) {return i+1;}}return -1;}转载请注明出处:http://blog.csdn.net/beiyeqingteng
- n 个人围成一圈(编号1-n),数到3的出列,最后剩下的人的编号
- n 个人围成一圈(编号1-n),数到3的出列,最后剩下的人的编号
- 【算法】n个小孩围成一圈,数到5出列,求最后剩下的人
- js解决N个人围成一圈,第一个人从1开始报数,报到M的人出列,求最后一个出列的人的编号。
- n个人围成一圈,从第1个人开始数数,数到3的人出圈,输出最后剩余的人编号(约瑟夫环问题)
- 50个人围成一圈数数,数到3的人退出,求最后剩下的人的编号
- n个人排成一圈,从1到3报数,数到3的人出列,输出最后剩下的哪个人是原来的第几号
- 设编号为1,2,… n的n个人围坐一圈,约定编号为k(1<=k<=n)的人从1开始报数,数到m 的那个人出列,它的下一位又从1开始报数,数到m的那个人又出列,依次类推,直到所有人出列为止,由此产生一个
- 算法:N个人围成一个圈,逢3出列。求最后一人的编号。(约瑟夫环)
- N个人围成一圈数数,每当数到3的倍数时出圈,最后剩下的人是谁?
- Java实现约瑟夫环:50个人围成一圈数数,数到3的人退出,求最后剩下的人的编号
- n个人排成一圈,从1开始报数,数到3,退出,剩下的最后一个人
- 多个人围成一圈报数,数到固定值的人出列,求最后剩下的人
- n个人,两成一个圈,编号从0到n-1 .从0开始数,遇到3或者3的倍数,那么就删除这个数,从下一个从新开始数,最后剩下的数的编号。
- n个小朋友围成一个圈,从0开始编号,数到m-1的小朋友出列,下一个小朋友开始继续数数,直到最后一个小朋友出列
- N个人围成一圈,顺序排号,报号出列。求最后出来及剩下的孩纸?
- C++[算法]用数组模拟约瑟夫问题,即 N个人围成一圈,顺时针每数到给定K值的人出列,直到剩下最后一个人,求出圈人的序号顺序
- * 假设有n个人围成一圈,从第1个人开始报数,数到第m个人出列,然后从出列的下一个人重新开始报数,数到第m个人又出列..... * 如此反复到所有人全部出列为止。设n个人的编号分别为1,2,3..
- MPI 实现 SUMMA 矩阵乘法
- 揭开杨靖宇牺牲真相:是自杀还是死于伪军之手
- VB.Net中实现三级联动
- FZU 2039 pets
- 2012年下半年11月份系统架构设计师上午试题答案之一
- n 个人围成一圈(编号1-n),数到3的出列,最后剩下的人的编号
- 数据库设计原则-细
- LeetCode Maximum Depth of Binary Tree
- 2012 机器人比赛仿真组总结
- 学习并行编程
- JSP的9个内置对象-request
- 马士兵_JAVA自学之路(为那些目标模糊的码农们)
- VS2010 更改MFC标题栏图标和生成的执行文件图标
- 字符串匹配算法的C/C++语言实现