约瑟夫环问题 n个人围成一个圆圈,由第1个人开始报数,每数到k该人就必须出去,然后再由下一个人重新报数,直到圆圈上少于m人为止,求最后剩下的人(n>k,n>m) def josephu(n, k, m): count = 0 l = [i for i in range(1, n+1)] while len(l) > m: count += 1 t = l.pop(0) if count != k: l.append(t) else: count = 0 return l print(josephu(100, 4, 2))