有500个小朋友拉成一个圆圈从其中一个小朋友开始依次编号1-500,从1号小朋友开始循环1-3报数,数到3的小朋友就退出.编写一个程序,计算出最后一个小朋友的号码是多少?
来源:学生作业帮助网 编辑:作业帮 时间:2024/05/01 03:26:53
有500个小朋友拉成一个圆圈从其中一个小朋友开始依次编号1-500,从1号小朋友开始循环1-3报数,数到3的小朋友就退出.编写一个程序,计算出最后一个小朋友的号码是多少?
有500个小朋友拉成一个圆圈
从其中一个小朋友开始依次编号1-500,从1号小朋友开始循环1-3报数,数到3的小朋友就退出.编写一个程序,计算出最后一个小朋友的号码是多少?
有500个小朋友拉成一个圆圈从其中一个小朋友开始依次编号1-500,从1号小朋友开始循环1-3报数,数到3的小朋友就退出.编写一个程序,计算出最后一个小朋友的号码是多少?
最后只能剩下两个小盆友.把500变成5不就知道了?
另,500=166*3+2,先踢出166个数三的小朋友,剩500-166+2=336个,这个数可以被3除尽,所以最后只能剩下两个人
import java.util.ArrayList; import java.util.List; public class Test { public static int sum=500; //总数 /** * @param args */ public static void main(String[] args) { // TODO A...
全部展开
import java.util.ArrayList; import java.util.List; public class Test { public static int sum=500; //总数 /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub List list=new ArrayList(); //先放入500个参赛者 for(int i=1;i<=sum;i++){ list.add(i); } play(list,0); } //方法 public static void play(List list,int yu){ if(list.size()==1){ //判断 如果集合中只剩1个人 循环结束 幸运嘉宾产生! System.out.println("最终的幸运嘉宾为:"+list.get(0)); }else { //把上一轮的尾数置前 if(yu>0){ for(int i=0;i
收起