Python有n 个人围成一圈,顺序排号。从第一个人开始报数(从1 到3 报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位
时间: 2023-04-03 22:01:51 浏览: 151
python 有n个人围成一圈,顺序排号,问最后留下的是原来第几号的那位。(示例)
5星 · 资源好评率100%
根据题意,我们可以使用约瑟夫问题的解法来求解。最后留下的人的编号为:
f(n,m) = (f(n-1,m)+m) % n
其中,n 为总人数,m 为报数的数字。根据题意,n = n,m = 3。因此,最后留下的人的编号为:
f(n,3) = (f(n-1,3)+3) % n
当 n = 1 时,最后留下的人的编号为 。因此,当 Python 有 n 个人围成一圈时,最后留下的是原来第 (f(n,3)+1) 号的那位。
阅读全文