1

次のチャレンジ質問が表示されます。

部屋には100個のバスケットの輪があります。バスケットには 1 から 100 までの番号が付けられており、各バスケットにはリンゴが 1 個入っています。最終的に、バスケット 1 のリンゴは削除されますが、バスケット 2 のリンゴはスキップされます。次に、バスケット 3 のリンゴが削除されます。これは、バスケットにリンゴが 1 つだけ残るまで (円の周りを移動し、バスケットからリンゴを取り除き、次のリンゴをスキップして) 続きます。残りのリンゴがどのバスケットに入っているかを判断するコードを書きます。

バスケット 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);

私の質問は次のとおりです。これを正しく行いましたか? 気になるのは、籠の「輪」の描写です。これが私のソリューションのコーディング方法とまったく関係があるかどうかはわかりません。そして、残りのリンゴが入っているバスケットは、そうでなければスキップされるものでしょうか?

私がこれに正しく答えたのか、部分的に正しいと答えたのか、それとも私の答えが完全に間違っているのか、誰かが私に知らせてくれることを願っています. 助けてくれてありがとう。

4

2 に答える 2