我收到了以下挑战问题:
一个房间里有一圈一百个篮子;篮子按从 1 到 100 的顺序编号,每个篮子里有一个苹果。最终,篮子 1 中的苹果将被移除,但篮子 2 中的苹果将被跳过。然后将取出篮子 3 中的苹果。这将继续(绕圈移动,从篮子中取出一个苹果,跳过下一个),直到篮子里只剩下一个苹果。编写一些代码来确定剩下的苹果在哪个篮子里。
我得出结论,篮子 100 将包含最后一个苹果,这是我的代码:
var allApples = [];
var apples = [];
var j = 0;
var max = 100;
var o ='';
while (j < max) {
o += ++j;
allApples.push(j);
}
var apples = allApples.filter(function(val) {
return 0 == val % 2;
});
while (apples.length > 1) {
for (i = 0; i < apples.length; i += 2) {
apples.splice(i, 1);
}
}
console.log(apples);
我的问题是:我做对了吗?我关心的是对篮子“一圈”的描述。我不确定这与我如何编写解决方案有关。剩下的苹果所在的篮子是否会被跳过?
我希望有人可以让我知道我是否正确回答了这个问题,回答了部分正确或我的回答完全错误。谢谢您的帮助。