码迷,mamicode.com
首页 > 其他好文 > 详细

面试题62. 圆圈中最后剩下的数字

时间:2020-05-09 20:43:10      阅读:58      评论:0      收藏:0      [点我收藏+]

标签:解答   数学   public   mic   png   src   图片   rem   技术   

题目:

技术图片

 

 

 

解答:

 技术图片

 技术图片

 

 1 class Solution {
 2     int f(int n, int m) 
 3     {
 4         if (n == 1)
 5         {
 6             return 0;
 7         }
 8         int x = f(n - 1, m);
 9         return (m + x) % n;
10     }
11 public:
12     int lastRemaining(int n, int m) 
13     {
14         return f(n, m);
15     }
16 
17 };

 

方法二:数学+迭代

class Solution {
public:
    int lastRemaining(int n, int m) {
        int f = 0;
        for (int i = 2; i != n + 1; ++i)
            f = (m + f) % i;
        return f;
    }
};

 

面试题62. 圆圈中最后剩下的数字

标签:解答   数学   public   mic   png   src   图片   rem   技术   

原文地址:https://www.cnblogs.com/ocpc/p/12859830.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!