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 boolean[100]; for(int i=0;i<s.length;i++) { s[i]=true; } int count = n; int index=0,sum=0; while(count>1) { if(s[index]==true) { sum++; if(sum == 3) { sum=0; s[index]=false; count--; } } index++; if(index==n) { index=0; } } for(int i=0;i<n;i++) { if(s[i]==true) { System.out.print("最后剩下的人原来的位置坐标为"+(i+1)); } } } }
【JAVA习题二十七】有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下
原文:https://www.cnblogs.com/chenxi1944362410/p/13058928.html