-
-
[讨论]约瑟夫八小孩问题
-
发表于:
2010-2-5 21:36
2217
-
思考了半天觉得发别的板块不合适,还是发这里开大家茶余饭后来一起玩玩
连接:
http://bbs.tarena.com.cn/viewthread.php?tid=144930&highlight=%D1%D0%BE%BF%C9%FA
给出一段java写的算法,这代码开始看没看懂,看了5分钟才看懂,
感觉挺好的,发给大家欣赏下
大一刚学C的时候写过这个程式,但是绝对复杂的多
1. public class Jone {
2. public static void main(String[] args) {
3. int s[]={1,2,3,4,5,6,7,8};
4. int i,j,w=0,n=8,m=5;
5. for(i=n;i>0;i--)
6. {
7. w=(w+m-1)%i;
8. System.out.println(s[w]);
9. for(j=w;j<i-1;j++)
10. s[j]=s[j+1];
11. }
12. }
13. }
ps:约瑟夫问题:
n个人围成一圈,每人有一个各不相同的编号,选择一个人作为起点,然后顺时针从1到k数数,每数到k的人退出圈子,圈子缩小,然后从下一个人继续从1到k数数,重复上面过程。求最后推出圈子的那个人原来的编号。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课