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+matplotlib实现填充螺旋实例

Python+matplotlib实现填充螺旋实例

填充螺旋演示结果: 实例代码: import matplotlib.pyplot as plt import numpy as np theta = np.arange(0, 8...

Python脚本文件打包成可执行文件的方法

Python脚本文件打包成可执行文件的方法

将Python脚本文件包装成可执行文件,其目的有二: 一则: 不需要依赖Python编译器就可以运行软件 二则: 不想让自己的源码公布出去 常用的工具有: py2exe、cx_freez...

python进阶教程之函数参数的多种传递方法

我们已经接触过函数(function)的参数(arguments)传递。当时我们根据位置,传递对应的参数。我们将接触更多的参数传递方式。 回忆一下位置传递: 复制代码 代码如下: def...

Python中with及contextlib的用法详解

Python中with及contextlib的用法详解

本文实例讲述了Python中with及contextlib的用法。分享给大家供大家参考,具体如下: 平常Coding过程中,经常使用到的with场景是(打开文件进行文件处理,然后隐式地执...

Python编程实现及时获取新邮件的方法示例

本文实例讲述了Python编程实现及时获取新邮件的方法。分享给大家供大家参考,具体如下: #-*- encoding: utf-8 -*- import sys import loc...