约瑟夫问题:有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;
}
约瑟夫问题:有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;
}
本文标题:约瑟夫问题公式
本文链接:https://www.haomeiwen.com/subject/ayjqcktx.html
网友评论