约瑟夫环的java实现

约瑟夫环的java实现

约瑟夫环:已知n个人(以编号1,,2,3…n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。

直接给出代码,欢迎拍砖。

1 package com.timeng; java.util.ArrayList; 4 import java.util.List; 5 import java.util.Scanner; Yue { main(String[] args) { 9Scanner scanner = new Scanner(System.in); 10System.out.print(“请输入总人数:”); 11int totalNum = scanner.nextInt(); 12System.out.print(“请输入报数的大小:”); 13int cycleNum = scanner.nextInt(); 14 yuesefu(totalNum, cycleNum); 15 } yuesefu(int totalNum, int countNum) { List<Integer> start = new ArrayList<Integer>(); 20for (int i = 1; i <= totalNum; i++) { 21 start.add(i); 22 } k = 0; 25while (start.size() >0) { 26k = k + countNum; k = k % (start.size()) – 1; (k < 0) { 31System.out.println(start.get(start.size()-1)); 32start.remove(start.size() – 1); 33k = 0; 34} else { 35 System.out.println(start.get(k)); 36 start.remove(k); 37 } 38 } 39 } 40 }

posted on

谁是谁生命的点缀。

约瑟夫环的java实现

相关文章:

你感兴趣的文章:

标签云: