猴子选大王
monkeyName(10,5) function monkeyName(total,kick) { var total = total; var kick = kick; var monkey = []; for (var i = 1; i <= total; ++i) { //创建猴子数组 monkey.push(i); } i = 0; while (monkey.length > 1) { //在猴子数量大于1的时候进行循环 ++i; let head = monkey.shift(); //猴子报数 if (i % kick != 0) { //判断是否踢出猴子,不提出则把该猴子添加到monkey数组的尾部 monkey.push(head); //继续参加游戏的猴子 } } console.log('猴王编号:' + monkey[0]); return monkey[0] }
方法2改造
monkeyName(10,5) function monkeyName(total,kick) { var total = total; var kick = kick; var monkey = []; for (var i = 1; i <= total; ++i) { //创建猴子数组 monkey.push(i); } i = 0; while (monkey.length > 1) { //在猴子数量大于1的时候进行循环 ++i; let head = monkey.shift(); //猴子报数 if (i - kick != 0) { //判断是否踢出猴子,不提出则把该猴子添加到monkey数组的尾部 monkey.push(head); //继续参加游戏的猴子 }else { i=0 } } console.log('猴王编号:' + monkey[0]); return monkey[0] }