几个同学围成一圈,从某个同学开始报数,当报道一个规定的数字时这个同学退出,他的下一位重新从一开始报,持续下去,直到最后只剩一个同学。

博客介绍了一个报数出圈问题,即同学围成圈报数,报到规定数字的同学退出,下一位重新从1报数,直至剩一人。还给出了Java代码实现,通过输入总人数、起始号和退出数字,程序模拟出圈过程并输出结果。

几个同学围成一圈,从某个同学开始报数,当报道一个规定的数字时这个同学退出,他的下一位重新从一开始报,持续下去,直到最后只剩一个同学。

import java.util.*; //一圈人,从一开始报数,逢某个数退出此人
public class Churen {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println(“请输入圈中总人数:”);
int num=input.nextInt();
int a[]=new int[num+1];
System.out.println(“请输入从几号开始:”);
int m=input.nextInt();
System.out.println(“请输入吉祥数字,及退出数字:”);
int x=input.nextInt();
for(int i=1;i<=num;i++) {
a[i]=1;
}
m=m-1;
int p=0;

System.out.print(“输出人:” );
while(p<num-1) {
int j=0;
while(j<x) {
m=m+1;
if(m>num) {
m=1;
}
j=j+a[m];
}
System.out.print(m);
a[m]=0;
p++;
}
for(int i=1;i<=num;i++) {
if(a[i]==1)
System.out.println("\n"+“最后一个人为:”+i);
}
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值