当前位置:K88软件开发文章中心编程语言PythonPython01 → 文章内容

有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-6 1:23:57

无。

程序源代码:

实例(Python 2.0+)


#!/usr/bin/python

# -*- coding:
UTF-8 -*-
if __name__ == '__main__':
nmax = 50n = int(raw_input('请输入总人数:
'))num = []for i in range(n):
num.append(i + 1)i = 0k = 0m = 0while m < n - 1:
if num[i] != 0 :
k += 1if k == 3:
num[i] = 0k = 0m += 1i += 1if i == n :
i = 0i = 0while num[i] == 0:
i += 1print num[i]

执行以上代码,输出结果:

$ python test.py 请输入总人数:
3410

有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。