Java猴子选王问题(约瑟夫环)

版权声明:转载原创文章请以超链接形式请注明原文章出处,尊重作者,尊重原创!


恰饭广告




import java.util.HashMap;
import java.util.Map;
public class MonkeyKing {
    public static void main(String args[]) {
        int n = 100; // 猴子总数
        int m = 3; // 报数出局数
        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) + "只猴子当选猴王");
    }
}  

原文链接:https://www.idaobin.com/archives/364.html

让我恰个饭吧.ヘ( ̄ω ̄ヘ)

支付宝 ——————- 微信
图片加载中图片加载中



恰饭广告

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

÷ 1 = 6