有N个人围成一圈,第一个人从1开始报数,报到M的人出列,求最后一个出列的人。
先将这个题目转换成数学问题:设有n个人(编号0~(n-1)), 从0开始报数,报到(m-1)的退出,剩下的人继续 从0开始报数 (用数学方法解的时候需要注意应当
从0开始编号,因为取余会取到0解。)
实质是一个递推,n个人中最终留下来的序号与n-1个人中留下来的人的序号有一个递推关系式。
假设除去第k个人,则
0, 1, 2, 3, ..., k-2, k-1, k, ..., n-1 // 原始序列 (1)
0, 1, 2, 3, ..., k-2, , k,