约瑟夫问题公式
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;
}