代码:
import java.util.Scanner;
public class zy49 {
public static void main(String[] args){
Scanner scan=new Scanner(System.in);
System.out.println(“请输入人数:”);
int N=scan.nextInt();
int[] sum=new int[N];
int num=N;//剩余的人数
int count=0;
for(int i=0;i<N;i++){//给数组赋值
sum[i]=i+1;
}
for(int j=1;j<N;j++){//循环遍历数组
for(int k=0;k<N;k++){//遍历数组
if(sum[k] == 0){
continue;//如果数组中的元素为零,结束此次循环
}
else{
count++;//进行计数
if(count== 3){
sum[k]=0;//当count为3时,将其对应的元素赋值为0
count=0;//计数重新开始
num–;//元素中不为0的个数
}
}
if(num == 1&& sum [k]!=0&&count==1){//count可以等于1或者2,不影响输出,当为3时,数组中全部元素为0,无输出
System.out.println(“最后剩下的是第”+sum[k]+“个人”);
}
}
}
}
}
在原代码中加了自己理解的注释,加了一点改动
JAVA 题目:有 n 个人围成一圈,顺序排号。从第一个人开始报数(从 1 到 3 报数),凡报到 3 的人退出圈子,问最后留下的是原来第几号。
最新推荐文章于 2024-03-25 21:40:04 发布