约瑟夫环 java实现
2014-04-30 09:27
281 查看
问题:
N个人从1到N编号,围城一圈,从1开始报数, 数到X时,将X的编号输出,并将那个人踢出,下一个从1再开始报数,直到所有人都出去
思路:
就是计数,移除,没有太深的思想,直接上代码:package test; import java.util.ArrayList; import java.util.List; import java.util.Scanner; /** * N个人从1到N编号,围城一圈, * 从1开始报数, 数到X时,将X的编号输出,并将那个人踢出, * 下一个从1再开始报数,直到所有人都出去 * @author anjl * */ public class My_JosephCircle { public static void main(String[] args) { List alist = new ArrayList(); System.out.println("请输入约瑟夫环 中 总个数数:"); Scanner sca = new Scanner(System.in); int N = sca.nextInt(); // 提示输入要出圈的数值 System.out.println("请输入要出圈的数值:"); int X = sca.nextInt(); System.out.println("按出圈的次序输出序号:"); for(int i=0 ;i<N;i++){ alist.add(i+1); } int i=-1; int countX=0; while(alist.size()!=0){ ++i; if(i== alist.size()){ i=0; } ++countX; if(countX==X){//输出 System.out.print(alist.get(i)+ " "); alist.remove(i); countX=0; i--;//修正 } } } }
测试结果:
相关文章推荐
- java实现约瑟夫环问题
- java 约瑟夫环 数组实现 已测试
- java实现约瑟夫环
- java链表实现约瑟夫环
- 约瑟夫环 java实现
- Java实现约瑟夫环
- 约瑟夫环java实现的方法
- java单向循环链表实现约瑟夫环
- 约瑟夫环简介,问题以及java实现
- Java语言解决约瑟夫环问题(ArrayList实现)
- 用java实现链表并解决约瑟夫环问题
- 约瑟夫环的JAVA实现
- 约瑟夫环问题(丢手帕游戏)Java 链表实现
- Java实现约瑟夫环
- 顺序表实现解约瑟夫环_Java
- java用list实现约瑟夫环问题
- 【约瑟夫环】Java实现:100个人开始从1开始报数,每当报数到3,报数3的人离开,求最后留下来人的位置。
- 约瑟夫环的java实现
- 用线性表实现约瑟夫环(java版)
- Java 数组实现约瑟夫环