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

679次阅读  |  发布于5年以前

本文实例讲述了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程序设计有所帮助。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8