JAVA 题目:有 n 个人围成一圈,顺序排号。从第一个人开始报数(从 1 到 3 报数),凡报到 3 的人退出圈子,问最后留下的是原来第几号。

代码:
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]+“个人”);
}
}
}
}
}
在这里插入图片描述
在原代码中加了自己理解的注释,加了一点改动

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值