qq_28326071 2015-05-19 09:43 采纳率: 50%
浏览 2489
已采纳

约瑟夫java设计大作业

这是17世纪的法国数学家加斯帕在《数目的游戏问题》中讲的一个故事:15个教徒和15 个非教徒在深海上遇险,必须将一半的人投入海中,其余的人才能幸免于难,于是想了一个办法:30个人围成一圆圈,从第一个人开始依次报数,每数到第九个人 就将他扔入大海,如此循环进行到仅余15个人为止。问怎样排 法,才能 的使每次投入大海的都是非教徒
的设计思想,java设计大作业

  • 写回答

6条回答 默认 最新

  • 晶晶爱学习 2015-05-19 10:29
    关注

    //a代表教徒,b代表非教徒
    public class Test {

    /**
     * Enter Content.
     * 
     * @author zhangjing
     * @date 2015-5-19
     * @param args
     * @see
     */
    private HashMap map = new HashMap();
    public Test(){
        for(int i= 1 ; i<=30;i++){
            map.put(i, "a");
        }
    }
    private int now = 1;
    
    public void next() {
         if(now==30){
             now=1;
         }else{
             now++;
         }
    }
    
    
    public static void main(String[] arg){
        Test t = new Test();
        int num = 30;
        while(num>15){
            for(int i= 1;i<=9;i++){
                t.next();
                if(i==9){
                    t.map.put(t.now, "b");
                    num--;
                }
            }
        }
        System.out.println(t.map.values().toString());
    }
    

    }
    结果:[b, a, a, b, a, a, b, a, a, b, a, a, b, a, a, a, b, b, a, a, a, a, b, b, a, a, a, a, b, a]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥20 数学建模,尽量用matlab回答,论文格式
  • ¥15 昨天挂载了一下u盘,然后拔了
  • ¥30 win from 窗口最大最小化,控件放大缩小,闪烁问题
  • ¥20 易康econgnition精度验证
  • ¥15 msix packaging tool打包问题
  • ¥28 微信小程序开发页面布局没问题,真机调试的时候页面布局就乱了
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能