当前位置:编程学习 > C#/ASP.NET >>

约瑟夫环

有17个人围成一个圈,编号是0~16,从0号的人开始从1开始报数,凡报到3的倍数的人离开圈子,然后再数下去,直到最后只剩一个人为止。输出最后剩下的一个人(输出此人原来的位置编号)。 --------------------编程问答-------------------- 这个约瑟夫环的推导公式:



直接往里面套就可以得出结果了.



--------------------编程问答-------------------- 使用递归很简单 --------------------编程问答-------------------- 怎么我这边不显示你给的那个推导公式呀? --------------------编程问答--------------------
引用 3 楼 l331823809 的回复:
怎么我这边不显示你给的那个推导公式呀?

所以你要推导啊 --------------------编程问答-------------------- 这个问题最好是找约瑟夫本人解决。 --------------------编程问答-------------------- 自己写一个循环链 17个人的话 循环16 次就好了 
先写个类 对象有value 和link 
value 你自己随便放东西  放每人的编号最好
link 要=下一个对象

声明一个 head 指向第一个 声明一个point 指向当前节点 初始化指向第一个
  把这个链 环起来 每三个就Remove掉一个  最后剩下的就是  也可以 point.link==point.link.link 就说明剩下一个了
这是纯C数据结构的算法 不是最优的  但是却是最贴近人思维方式的方法 --------------------编程问答-------------------- http://hi.baidu.com/gghao/blog/item/3aa7a7013f4d4b001d9583ee.html
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,