博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
约瑟夫环问题(Josephus_problem)
阅读量:5321 次
发布时间:2019-06-14

本文共 997 字,大约阅读时间需要 3 分钟。

递归:

def J(n,x):   return 0 if n==1 else (J(n-1,x)+x-1) % n

循环:

def J(n,x):    k=0    for i in range(2,n+1):        k=(k+x)%i    return k+1

 

列表推倒:

def J(n,x):    return reduce(lambda t, _: (t[(x-1) % len(t):] + t[:(x-1) % len(t)])[1:], range(n-1), range(1, n+1))

 

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

 

 

In Mathematica :

Mathematica code

 

 

转载于:https://www.cnblogs.com/c-hy/archive/2012/09/16/2687840.html

你可能感兴趣的文章
C# 服务的安装、卸载、启动、停止操作
查看>>
C# 索引器
查看>>
MySQLdb & pymsql
查看>>
zju 2744 回文字符 hdu 1544
查看>>
XmlDocument
查看>>
delphi 内嵌汇编例子
查看>>
SQL server 2012 安装SQL2012出现报错: 启用 Windows 功能 NetFx3 时出错
查看>>
uip源码剖析【一】——【网络层】ARP解读
查看>>
使用RegularExpressionValidator限制多行文本框的字数
查看>>
Linux 文件搜索命令
查看>>
layui 弹框
查看>>
【Java】Java网络编程菜鸟进阶:TCP和套接字入门
查看>>
HOWTO: Create native-looking iPhone/iPad applications from HTML, CSS and JavaScript
查看>>
cocos2d-x 3.10版本 使用BabeLua调试
查看>>
一款jquery打造的特炫酷的全屏上下滚动的jquery焦点图特效
查看>>
戏说文件系统之ext2【续】
查看>>
Codeforces Round #469 (Div. 2) D 数学递归 E SCC缩点
查看>>
webAssmebly实现js数组排序 使用custom elements和Shadow DOM自定义组件
查看>>
三个你不知道的CSS技巧
查看>>
[.NET MVC进阶系列03] Views 视图基础
查看>>