圆圈中最后一个数【小米笔试题】
文章目录
$0,1,…,n-1$ 这 n 个数字 $(n>0) $ 排成一个圆圈,从数字 0 开始每次从这个圆圈里删除第 $ m $ 个数字。
求出这个圆圈里剩下的最后一个数字。
样例
|
|
公式推导
$$ f(n,m) = (f(n-1,m) + m) % n \ \ n = 1 时, f(1,m) = 0\ $$
解题代码
|
|
迭代解法
|
|
文章作者 LYR
上次更新 2021-08-17
$0,1,…,n-1$ 这 n 个数字 $(n>0) $ 排成一个圆圈,从数字 0 开始每次从这个圆圈里删除第 $ m $ 个数字。
求出这个圆圈里剩下的最后一个数字。
|
|
$$ f(n,m) = (f(n-1,m) + m) % n \ \ n = 1 时, f(1,m) = 0\ $$
|
|
|
|
文章作者 LYR
上次更新 2021-08-17