相当于在逆推票出去的过程,假设现在剩n个人,且最后保留下来的人是第k个,求剩n+1个人的时候保留下来的是哪个人,相当于在算后n个人之前,要先数3个人,所以后面人的id需要向后移3位。
比如5个人的时候票人的过程是这样(假设最后留下来的是3,假设的,实际是不是不知道)
0 1 2 3 4
^
那么再多加一轮的时候,就相当于在这批数前面加上一趟1 2 3
0 1 2 3 4 5
* * * 0 1 2
3 4
^
原本3的id就变成了(4 + 3)% 6 = 1
其实就是for循环的逻辑 注意和while循环作比较
供参考:利用数学思路解决约瑟夫环问题https://www.bilibili.com/video/av625128625/