Java猴子选王问题(约瑟夫环)
2017-05-28 14:46
302 查看
package calculate; //约瑟夫环例子 import java.util.HashMap; import java.util.Map; public class MonkeyKing { @SuppressWarnings("unchecked") public static void main(String args[]) { int n = 100; // 猴子总数 int m = 3; // 报数出局数 @SuppressWarnings("rawtypes") Map map = new HashMap(); int nn = 1; // 报数序号 int mm = 1; // 报数号 System.out.println("-----------------------" + n + "只猴子选大王开始-----------------------"); for (int i = 1; i < n + 1; i++) { map.put(i, i); } while (map.size() > 1) { if (mm == 3) { map.remove(nn); } nn++; if (nn == n + 1) { nn = 1; } if (map.get(nn) != null) { mm++; } if (mm == m + 1) { mm = 1; } } String result = map.values().toString(); System.out.println("第" + result.substring(1, result.length() - 1) + "只猴子当选猴王"); } }
相关文章推荐
- 代码详解Java猴子选王问题(约瑟夫环)
- 一个Java面试题(约瑟夫环问题)
- 猴子报数问题(java实现)
- 用java实现链表并解决约瑟夫环问题
- java实现约瑟夫环问题
- 约瑟夫环问题 Java
- [原创]java实现约瑟夫环问题
- java循环单链表实现约瑟夫环问题
- java经典问题——猴子吃桃
- java经典算法_016猴子吃桃问题(递归)
- java 题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾, //又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。 //到第1
- 单链表实现猴子选大王(约瑟夫环问题)
- Java程序练习-约瑟夫环问题
- 08年以前华中科大机试第8道题目(约瑟夫环问题(传说中的猴子选大王))
- 赌博算法之约瑟夫环问题(JAVA)
- 一个Java面试题(约瑟夫环问题)
- 约瑟夫环问题(丢手帕游戏)Java 链表实现
- java实现简单的约瑟夫环问题
- 使用单链表求解约瑟夫环问题 (利用java中的LinkedList)
- 猴子选大王(约瑟夫环问题)