当前位置: 网站首页 > JAVA > j2se

约瑟夫(Josephus)问题的实现

时间:1970-1-1 08:33:31来源: j2se作者:admin 点击:0次 字体 [ С]

没想到学C++的第三天就遇到了这样猥琐的约瑟夫(Josephus)问题。

说n个人围坐成一圈,从1开始顺序编号;游戏开始,从第一个人开始由1到m循环报数,报到m的人退出圈外,问最后留下的那个人原来的序号。

而提示也只是什么计数器什么玩意的。想了半天因为还没有学C++的队列,所以逻辑上也理不清。就决定先用Java去做,所以本文章为Java类别。

好吧。我来看看简单难懂的提示。算了,对于本题并没有什么帮助,不用看了。下面是实现。view plaincopy to clipboardprint?
import java.util.ArrayList;;  
public class josephus {  
    /** 
     * @param args 
     */ 
    public static void main(String[] args) {  
        int m=5;//报到m的人退出圈外  
        int total=10;//总人数  
        int list_tmp[] = new int[total];//创建数组,我不知道java是否有动态一些的数组,比如不用分配空间什么的。这里1代表在场,0则代表出局。  
        int list[] = setCollect(list_tmp);//赋数组初始值,很奇怪我竟然以为java的数组可以一值多赋,写多js了。  

发表评论
验证码:
最新评论