python超简单解决约瑟夫环问题

yipeiwu_com6年前Python基础

本文实例讲述了python超简单解决约瑟夫环问题的方法。分享给大家供大家参考。具体分析如下:

约瑟环问题大家都熟悉。题目是这样的。一共有三十个人,从1-30依次编号。每次隔9个人就踢出去一个人。求踢出的前十五个人的号码:

明显的约瑟夫环问题,python实现代码如下:

a = [ x for x in range(1,31) ] #生成编号
del_number = 8 #该删除的编号
for i in range(15):
   print a[del_number]
   del a[del_number]
   del_number = (del_number + 8) % len(a)

到此搞定约瑟夫环问题python实现

希望本文所述对大家的Python程序设计有所帮助。

相关文章

Python解惑之True和False详解

Python解惑之True和False详解

前言 众所周知在Python 中常用的数据类型bool(布尔)类型的实例对象(值)就两个,真和假,分别用True和False表示。在if 条件判断和while 语句中经常用到,不过在Py...

python3.6使用tkinter实现弹跳小球游戏

本文实例为大家分享了python3.6实现弹跳小球游戏的具体代码,供大家参考,具体内容如下 import random import time from tkinter import...

Python中shutil模块的常用文件操作函数用法示例

os模块提供了对目录或者文件的新建/删除/查看文件属性,还提供了对文件以及目录的路径操作。比如说:绝对路径,父目录……  但是,os文件的操作还应该包含移动 复制 ...

Python的Tornado框架异步编程入门实例

Python的Tornado框架异步编程入门实例

Tornado Tornado 是一款非阻塞可扩展的使用Python编写的web服务器和Python Web框架, 可以使用Tornado编写Web程序并不依赖任何web服务器直接提供高...

python模块之time模块(实例讲解)

python模块之time模块(实例讲解)

time 表示时间的三种形式 时间戳(timestamp) :通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time()...