代碼詳解Java猴子選王問(wèn)題(約瑟夫環(huán))
關(guān)于約瑟夫環(huán)的基本知識(shí):
羅馬人攻占了喬塔帕特,41人藏在一個(gè)山洞中躲過(guò)了這場(chǎng)浩劫。這41個(gè)人中,包括歷史學(xué)家josephus和他的一個(gè)朋友。剩余的39個(gè)人為了表示不向羅馬人屈服,決定集體自殺。大家決定了一個(gè)自殺方案,所有這41人圍城一個(gè)圓圈,由第一個(gè)人開始順時(shí)針報(bào)數(shù),沒(méi)報(bào)數(shù)為3的人就立刻自殺,然后由下一個(gè)人重新開始報(bào)數(shù)仍然是每報(bào)數(shù)為3的人就立刻自殺,......,知道所有人都自殺死亡為止.約瑟夫和他的朋友并不想自殺,于是約瑟夫想到了一個(gè)計(jì)策,他們兩個(gè)同樣參數(shù)到自殺方案中,但是最后卻躲過(guò)了自殺。請(qǐng)問(wèn)是怎么做到的
代碼分享:
import java.util.HashMap;
import java.util.Map;
public class MonkeyKing {
public static void main(String args[]) {
int n = 100; // 猴子總數(shù)
int m = 3; // 報(bào)數(shù)出局?jǐn)?shù)
@SuppressWarnings("rawtypes")
Map map = new HashMap();
int nn = 1; // 報(bào)數(shù)序號(hào)
int mm = 1; // 報(bào)數(shù)號(hào)
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) + "只猴子當(dāng)選猴王");
}
}
相關(guān)文章
使用RestTemplate調(diào)用RESTful?API的代碼示例
在開發(fā)?Web?應(yīng)用程序時(shí),調(diào)用?RESTful?API?是一個(gè)常見(jiàn)的任務(wù),本文將介紹如何使用?RestTemplate?調(diào)用?RESTful?API,并提供示例代碼,感興趣的同學(xué)可以跟著小編一起來(lái)看看2023-06-06
RestTemplate發(fā)送HTTP?GET請(qǐng)求使用方法詳解
這篇文章主要為大家介紹了關(guān)于RestTemplate發(fā)送HTTP?GET請(qǐng)求的使用方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家<BR>33+多多進(jìn)步2022-03-03
mybatis-plus?實(shí)現(xiàn)查詢表名動(dòng)態(tài)修改的示例代碼
通過(guò)MyBatis-Plus實(shí)現(xiàn)表名的動(dòng)態(tài)替換,根據(jù)配置或入?yún)⑦x擇不同的表,本文主要介紹了mybatis-plus?實(shí)現(xiàn)查詢表名動(dòng)態(tài)修改的示例代碼,具有一定的參考價(jià)值,感興趣的可以了解一下2025-03-03
基于tomcat8 編寫字符編碼Filter過(guò)濾器無(wú)效問(wèn)題的解決方法
下面小編就為大家分享一篇基于tomcat8 編寫字符編碼Filter過(guò)濾器無(wú)效問(wèn)題的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-01-01
教你用IDEA配置JUnit并進(jìn)行單元測(cè)試
今天教各位小伙伴怎么用IDEA配置JUnit并進(jìn)行單元測(cè)試,文中有非常詳細(xì)的圖文介紹及代碼示例,對(duì)正在學(xué)習(xí)IDEA的小伙伴有很好的幫助,需要的朋友可以參考下2021-05-05

