n, k, m = map(int, input().split())
people = list(range(n)) # 0..n-1
idex = k
while(len(people) > 1):
idex = (idex + m - 1) % len(people) # 使用取模保证索引始终在循环圈,始终会是people长度以内
people.pop(idex)
print(people[0])
比较新鲜的是取模运算,% len(people) 保证不管走多少步,最后都落在 0 ~ 当前人数-1 这个合法区间里,实现“围成一圈循环”的效果。

京公网安备 11010502036488号