10行python代码实现约瑟夫问题
来源:互联网 发布:java mmap 编辑:程序博客网 时间:2024/06/03 10:30
什么是约瑟夫问题?
约瑟夫问题是一个有趣的数学游戏,游戏规则如下:
1、N个人围成一个圈,编号从1开始,依次到N。
2、编号为M的游戏参与者开始报数,报数从1开始,后面的人报数接龙,直到K为止,报数为K的人将出局。
3、出局者的下一个玩家接着从1开始报数,如此循环,直到剩下一个玩家时游戏结束,这个玩家就是游戏获胜者。
那么问题来了,哪个编号是游戏获胜者呢?
下面通过简单的几行python代码来解决这个问题:
#!/usr/bin/env python# Joseph Problemdef joseph(total, begins, count):queue = range(1, total + 1)death = (begins + count - 2) % len(queue)for times in range(total - 1):print 'out: ', queue[death]del queue[death]death = (death + count -1) % len(queue)print 'survivor: ', queue[0]
joseph()函数中,参数total即上面提到的N,begins即M,count及K,每次循环报数out一个编号,最后剩下的survivor便是游戏获胜者。
1 0
- 10行python代码实现约瑟夫问题
- “约瑟夫问题”实现代码
- Python实现约瑟夫问题
- 约瑟夫问题的代码实现
- 约瑟夫问题java语言实现代码
- 约瑟夫问题总结及代码实现
- 约瑟夫问题分析及代码实现
- 10行Python代码解决约瑟夫环(模拟)
- 8行代码解决约瑟夫问题
- 约瑟夫问题Java代码
- 约瑟夫问题的代码
- 约瑟夫问题 java代码
- 【Python】约瑟夫问题
- python 约瑟夫问题
- 约瑟夫环 python 实现
- python实现约瑟夫环
- 自己用java代码实现的:“约瑟夫”问题
- “约瑟夫问题”实现代码加运行截图(ADT小组)
- BaseAdapter中重写getview的心得以及发现convertView回收的机制
- android布局属性详解
- 如何将word的内容提取出来转成txt
- 利用Java反射、泛型和apache/poi编写可通用的导出Excel代码
- 在一台server上启动多个mysql服务
- 10行python代码实现约瑟夫问题
- 编写安全代码——不要用memcmp比较structure
- openflow1.3中文翻译版笔记
- 获取文件路径
- 关于flex里面mousedown 和click事件冲突问题的解决办法
- 3 vim编辑器使用
- Unity 从iOS应用中,启动一个Unity App
- flash的中心点和注册点
- 张言欣0143892