约瑟夫环 JavaScript 实现

版权声明:转载请注明出处 https://blog.csdn.net/geol200709/article/details/80257251

设有n个人依围成一圈,从第1个人开始报数,数到第m个人出列,然后从出列的下一个人开始报数,数到第m个人又出列, …,如此反复到所有的人全部出列为止。设n个人的编号分别为 1, 2, …, n,打印出出列顺序


function countOff( N, M) {
if ( N < 1 || M < 1) {
return;
}
const source = Array( ...Array( N)) . map(( _, i) => i + 1);
let index = 0;
while ( source . length) {
index = ( index + M - 1) % source . length;
console. log( source[ index]);
source.splice( index, 1);
}
}

猜你喜欢

转载自blog.csdn.net/geol200709/article/details/80257251