约瑟夫问题公式

2020-07-08  本文已影响0人  漫游之光

约瑟夫问题:有n只猴子,按顺时针方向围成一圈选大王(编号从1到n),从第1号开始报数,一直数到m,数到m的猴子退出圈外,剩下的猴子再接着从1开始报数。就这样,直到圈内只剩下一只猴子时,这个猴子就是猴王,编程求输入n,m后,输出最后猴王的编号。

int getLive(int n,int m){
    if(n == 1){
        return 1;
    }
    return (getLive(n-1,m) + m - 1) % n + 1;
}
上一篇 下一篇

猜你喜欢

热点阅读