`
ling凌yue月
  • 浏览: 334276 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

算法——约瑟夫问题(丢手帕)

    博客分类:
  • java
阅读更多
m个人站成一个圈,某个人开始喊1,下一个喊2……依次,规定喊n的人被淘汰,被淘汰的下一个重新开始喊,请问最后谁留下?


public static void main(String[] args) {
        String[] a={"1","2","3","4","5","6","7","8"}; 
        System.out.print(yy(a,3)); 

	}
static String yy(String[] a,int m){ 
        int t=0; 
        int length=a.length; 
        for(int i=length;i>0;i--){ 
            t=(t+m-1)%i;
            //System.out.print(a[t]+"   ");
            for(int j=t;j<i-1;j++){ 
                a[j]=a[j+1];
            }
        }  
        return a[0]; 
    } 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics