Java 寫有n個人圍成一圈,順序排號,從第一個人開始報數(從1~3報數), 凡報到3的人退出圈子,問最後留下的人原來排在第幾號。
阿新 • • 發佈:2019-01-27
package tests; import java.util.ArrayList; import java.util.List; import java.util.Scanner; /** * 題目描述, *Java 寫有n個人圍成一圈,順序排號,從第一個人開始報數(從1~3報數), *凡報到3的人退出圈子,問最後留下的人原來排在第幾號。 * */ public class Countnumber { public static void main(String[] args){ System.out.println("輸入圈內報數的人數"); Scanner ss=new Scanner(System.in); int n=ss.nextInt(); fun1(n); // fun2(n); } //第一種方式 public static void fun1(int n){ int countnumber=0;//報數的數1-n int index=0;//索引位置 int number=n;//報數人數 boolean [] arr=new boolean[n]; for(int i=0;i1){ if(arr[index]==true){ countnumber++; if(countnumber==3){ arr[index]=false; number--; countnumber=0; } } index++; if(index==n){ index=0; } } for(int i=0;i list=new ArrayList(); int countnumber=1; for(int i=1;i<=n;i++){ list.add(i); } //進行列表遍歷 for(int i=0;i