有10个孩子站成一圈,从第一个孩子开始顺时针方向报数,报到3的人出列,下一个人继续从1报数,直到最后剩下一个孩子为止。问剩下第几个孩子。
package string_pracitice; import java.util.ArrayList; import java.util.List; import java.util.Scanner; import java.util.Vector; public class YueSeFuCircle { public static void main(String[] args) { new YueSeFuCircle().run(); } public void run(){ List<String> a=new ArrayList<String>();//或者用Vector //定义一个变量为孩子的总人数 Scanner s=new Scanner(System.in); System.out.println("please input the number of childen!"); int childs=s.nextInt(); System.out.println("please input the number of out!"); int outNumber=s.nextInt(); for(int i=1;i<=childs;i++){ a.add("第"+i+"个孩子"); } for(;;){ if(a.size()==1) break; for(int k=0;k<outNumber-1;k++){ a.add(a.remove(0)); } a.remove(0); } System.out.println(a); } }运行测试:
please input the number of childen!
10
please input the number of out!
3
[第4个孩子]
原文:http://blog.csdn.net/u014010769/article/details/44679381