数组(列表)实现约瑟夫杀人环

题目内容:n个人围成一圈,从第一个人开始顺序报号1,2,3.凡报到3者退出圈子。找出最后留在圈子里的人原来的序号。要求用数组实现。

python代码:

count = 0   #从0号开始
killpeoplejiange = 2    #每隔2个杀一个人(每3个杀一个)
people = [0,1,2,3,4,5,6,7,8,9]  #定义10个人的列表(数组)
print("删除顺序为:")
while len(people) != 1: #当只有一人退出程序
    count += killpeoplejiange
    if count >= len(people):    #如果超出了长度,就取一个余,然后杀
        count = count % len(people)
        print(people[count])
        del people[count]   #杀
    else:   #没超出就直接杀
        print(people[count])
        del people[count]
print("最后剩下:",people)   #打印最后剩下的


 

猜你喜欢

转载自blog.csdn.net/likunkun__/article/details/81282872