约瑟夫环问题,约瑟夫环,有 个囚犯站成一个 圆
约瑟夫环问题,约瑟夫环,有 个囚犯站成一个 圆
有 个囚犯站成一个 圆圈,准备处决。首先从一个人开始,越过 个人(因为第一个人已经被越过),并杀掉第 k 个人。接着,再越过 个人,并杀掉第 k 个人。这个过程沿着圆圈一直进行,直到最终只剩下一个人留下,这个人就可以继续活着。
def J(n,x): li=range(1,n+1) while li: print '\\t'.join('1' if i in li else '0' for i in range(1,n+1)) li=li[x-1:]+li[:x-1] li=li[1:]J(10, 3)#output:#1 1 1 1 1 1 1 1 1 1#1 1 0 1 1 1 1 1 1 1#1 1 0 1 1 0 1 1 1 1#1 1 0 1 1 0 1 1 0 1#1 0 0 1 1 0 1 1 0 1#1 0 0 1 1 0 0 1 0 1#0 0 0 1 1 0 0 1 0 1#0 0 0 1 1 0 0 0 0 1#0 0 0 1 0 0 0 0 0 1#0 0 0 1 0 0 0 0 0 0#修正后def J(n,x): li=range(1,n+1) while li: print '\\t'.join('1' if i in li else '0' for i in range(1,n+1)) li=(lambda t: li[t:]+li[:t])( (x-1)%len(li) )[1:]J(10, 5)#Out:#1 1 1 1 1 1 1 1 1 1#1 1 1 1 0 1 1 1 1 1#1 1 1 1 0 1 1 1 1 0#1 1 1 1 0 0 1 1 1 0#1 0 1 1 0 0 1 1 1 0#1 0 1 1 0 0 1 1 0 0#1 0 1 1 0 0 1 0 0 0#0 0 1 1 0 0 1 0 0 0#0 0 1 0 0 0 1 0 0 0#0 0 1 0 0 0 0 0 0 0#该片段来自于http://byrx.net
相关内容
- 编写.ini文件,编写.ini,from ConfigP
- 简单的批量下载工具,简单批量下载工具,Read URLs li
- 求最大最小最大值因数,最大值因数,Python语言: 求最
- 比较一个文件夹比另一同名文件夹多出哪些文件,并复
- 一个用Python给Vim做的插件,PythonVim做插件,[Python]代码
- 人人网相册下载,人人网相册,RRAD.py# cod
- python生成随机mac地址,python生成mac,#!/usr/bin/p
- 挑选文件夹里面宽大于300图片,挑选文件夹300,需要用到
- python 实现简单的SYSLOG服务器,并写入MYSQL数据库,sys
- 根据目录下的文件名生成SQL语句,文件名生成sql语句
评论关闭