个人第一篇博客,就先来个猴子选大王把!!!
程序员文章站
2022-10-15 20:17:54
1 #coding=utf-8 2 ''' 3 一群猴子排成一圈,按1,2,...,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去...,如此不停的进行下去,直到最后只剩下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m、n, 4 输... ......
1 #coding=utf-8 2 ''' 3 一群猴子排成一圈,按1,2,...,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去...,如此不停的进行下去,直到最后只剩下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m、n, 4 输出最后那个大王的编号。 5 ''' 6 import sys 7 n=int(input("猴子数量:")) 8 m=int(input("数到几:")) 9 monkeys=[] 10 for x in range(1,n+1): 11 monkeys.append(x) 12 print(monkeys) 13 #sys.exit() 14 i=1 15 while len(monkeys)>1: 16 if i%m==0 : 17 k=monkeys[0] 18 del monkeys[0] 19 print("数到%s,踢出去了%s"%(i,k),monkeys) 20 i=1 21 else: 22 k=monkeys[0] 23 monkeys.append(monkeys[0]) 24 del monkeys[0] 25 print("数第%s次,到%s,继续下一个"%(i,k),m,monkeys) 26 i+=1 27 print(monkeys)