4184: 约瑟夫环
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:1
解决:1
题目描述
约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌只剩1个人。请问最后的人的编号是多少?
样例输入 复制
30
9
1
样例输出 复制
21
提示
n=int(input()) m=int(input()) k=int(input()) ls=list(range(1,n+1)) i=k while len(ls) > 1: n = ls.pop(0) if i<m: ls.append(n) i+=1 if i>m: i=1 print(ls[0])