python超简代码解决约瑟夫环问题

2022-03-11 00:00:00 代码 解决 约瑟夫

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

"""
皮蛋编程(https://www.pidancode.com)
创建日期:2022/4/1
功能描述: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)

输出:
9
18
27
6
16
26
7
19
30
12
24
8
22
5
23
代码在python3.9下测试通过。

相关文章