题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
程序分析:无。
程序源代码:
实例(Python 2.0+)
#!/usr/bin/python# -*- coding: UTF-8 -*-if__name__ == '__main__': nmax = 50 n = int(raw_input('请输入总人数:')) num = [] foriinrange(n): num.append(i + 1) i = 0 k = 0 m = 0 whilem < n - 1: ifnum[i] != 0 : k += 1 ifk == 3: num[i] = 0 k = 0 m += 1 i += 1 ifi == n : i = 0 i = 0 whilenum[i] == 0: i += 1 printnum[i]
执行以上代码,输出结果:
$ python test.py
请输入总人数:34
10