从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下 package erase; import java.util.Scanner; public class 圆桌报数问题 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner in=new Scanner(System.in); int n=in.nextInt(); boolean s[]=new ...
k = 1; } } }while(mans.size() > 1); System.out.println("剩下编号为"+ mans +"的"+ mans.size() +"个人");
从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。 解题思路: 假设一共有n个人,则定义一个长度为n的boolean数组。全部元素的值为true。报数为3的元素其值为false。一直循环下去,直到只剩下一个值为true的元素。则该原色的下标加一就是最后剩下的人的号码。 下面是代码...
public class Increase {public static void rep(boolean[] people) {int i = 0,j=0,n=people.length,m=n;while(n>2){i=++i%m;if (people[i] == true){j++;if (j==3){people[i] = false;System.out.println(i);n--;//总人数减1j = 0;//到3从头数}}}public static void...
* 功能说明:1、 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子, 18 * 问最后留下的是原来第几号的那位。 19 * 20 *@Afei2012-6-10 21 *@paramargs 22 */ 23 24 publicstaticvoidmain(String[] args) { 25...
首先获取一个总人数 , 然后开一个数组,初始化为1 ,在开一个计数器 suM, 如果sum==3 那么将数组为 0 ,并且更新 剩余人数,只要剩余人数不是1,那就在while循环里面不断循环 , 最后输出数组中值为1的下标+1就好了 (从0开始的数组) import java.util.Scanner; ...
有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。就在博客园里面就有的题目,都有人写过了。 0 0 0 慕田峪4524236 你的问题呢?你的要求完全看不懂 0 0 0 墨色风雨 java有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3...
有n个人围成一圈,顺..public static void main(String[] args) throws IOException { List<Integer> list=new ArrayList&
1/*37 【程序 37 报数】2题⽬:有 n 个⼈围成⼀圈,顺序排号。从第⼀个⼈开始报数(从 1 到 3 报数),凡报到 3 的⼈退出圈⼦,3问最后留下的是原来第⼏号的那位。4*/ 5 6/*分析1===错误分析,没有注意到要退出圈⼦ 7 * 1、⽤⼀个数组存放n个1,从头开始报数 8 * 2、...
1/*37 【程序 37 报数】2题目:有 n 个人围成一圈,顺序排号。从第一个人开始报数(从 1 到 3 报数),凡报到 3 的人退出圈子,3问最后留下的是原来第几号的那位。4*/56/*分析1===错误分析,没有注意到要退出圈子!!!7* 1、用一个数组存放n个1,从头开始报数8* 2、声明一个计数器,报数为3时,数组...