最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
超牛的Python,简单10行代码解决约瑟夫环
时间:2014-11-05 编辑:简简单单 来源:一聚教程网
约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。通常解决这类问题时我们把编号从0~n-1,最后结果+1即为原问题的解。
虽然,用模拟去解决这个约瑟夫环问题效率是很低的,但是,这更容易理解。先上代码。
代码如下 | 复制代码 |
|
可以看到,整个函数也就是只有十行。思路非常简单,按模来找到要删除得位置,但是,主要到下标从0开始和数字从1开始是有一些不一样得,另外,py的del后,下标会增1,所以要减回去。
正确看是
del link[ind-1]
ind-=1
但是,因为两者都需要后退1,所以直接ind-=1就OK了。
另外要主要得是,来到环尾部,即py的-1(这点就是最好的地方,py得tuple 和list 支持负下标),删除后,开始就要变成0
如果你认为我写错了,一定要评论给我指出,不想误人子弟。
相关文章
- 最简单的摄影技巧分享 07-05
- ps怎么简单的制作云雾效果 07-04
- 迅捷流程图如何设计一个简单组员表格 06-28
- JAVA简单工厂模式(从现实生活角度理解代码原理) 06-27
- Word简单使用的小技巧 06-19
- PS最简单 最基础知识介绍 06-16