python解决约瑟夫生者死者链问题

简介: python解决约瑟夫生者死者链问题

问题:一条船上有30个人。在路上遇到了风暴,要牺牲15个人才能保证安全,将全船30人围城一个圈,从头开始报数,报到9的人就要被牺牲,如此循环直至剩余15人


下面为控制台输出内容

1666357712707.jpg

代码如下

people={}
for x in range(1,31):
    people[x]=1
check=0
i=1
j=0
while i<=31:
    if i==31:
       i=1
    elif j==15:
        break
    else:
        if people[i]==0:
            i+=1
            continue
        else:
            check+=1
            if check==9:
                people[i]=0
                check=0
                print("编号为 的下船了",i)
                j+=1
            else:
                i+=1
相关文章
|
7月前
|
Python
【python】爬楼梯—递归分析(超级详细)
【python】爬楼梯—递归分析(超级详细)
|
3月前
|
机器学习/深度学习 设计模式 大数据
30天拿下Python之迭代器和生成器
30天拿下Python之迭代器和生成器
22 3
|
测试技术 索引 Python
深挖 Python 元组 pt.2
深挖 Python 元组 pt.2
|
存储 数据库 索引
深挖 Python 元组 pt.1
深挖 Python 元组 pt.1
|
Python
Python|如何用递归解决汉诺塔问题?
Python|如何用递归解决汉诺塔问题?
126 0
|
算法 Python
python穷举法循环经典案例:借书方法
小明有5本新书,要借给A、B、C三位小朋友,若每个人每次只能借一本书,则有多少种不同的有效借法?
python穷举法循环经典案例:借书方法
|
Python
Python经典编程习题100例:第69例:约瑟夫问题
Python经典编程习题100例:第69例:约瑟夫问题
131 0
|
索引 Python
关于Python封装函数的几道练习题
关于Python封装函数的几道练习题
111 0
|
Python
趁着课余时间学点Python(七)一篇文了解迭代器
趁着课余时间学点Python(七)一篇文了解迭代器
94 1
趁着课余时间学点Python(七)一篇文了解迭代器
|
程序员 Python
妙不可言!写出优雅的 Python 代码的七条重要技巧
写出能完成功能的程序每个程序员都可以搞定,但能写出优雅的程序的程序员却寥寥无几,因此程序写的优雅与否则是区分顶级程序员与一般程序员的终极指标所在。
169 0
妙不可言!写出优雅的 Python 代码的七条重要技巧

热门文章

最新文章