ループメニュー 1【数列の反転・九九の表示・2の累乗を表示・FizzBuzz】
【STEP: 1】コード
reader.on('close', () => {
const N = Number(lines[0]);
const a = lines[1].split(' ').map(Number);
for (let i = N; i > 0; i--) { // ループは N 〜 1
console.log(a[i-1]); // a[N-1]〜a[1-1]を出力
}
});
i = N からループをスタートして a[N-1]〜a[1-1] の順で出力しています。
【STEP: 2】コード
const a = []; // 九九の8の段を保存するための配列
for (let i = 1; i <= 9; i++) {
a.push(8 * i); // 8 × i を a の末尾に追加
}
console.log(a.join(' ')); // a の値を半角スペースで連結して出力
8 * i を配列 a に保存して join(‘ ‘)で連結。
【STEP: 3】コード
reader.on('close', () => {
const N = Number(lines[0]);
const a = []; // 九九の N の段を保存するための配列
for (let i = 1; i <= 9; i++) {
a.push(N * i); // N × i を a の末尾に追加
}
console.log(a.join(' ')); // a の値を半角スペースで連結して出力
});
N * i を配列 a に保存して join(‘ ‘)で連結。
【STEP: 4】コード
reader.on('close', () => {
const N = Number(lines[0]);
let n = 1; // 出力値を 1 で初期化
for (let i = 1; i <= N; i++) {
n *= 2; // n を n × 2 で上書き
console.log(n);
}
});
n を n × 2 で上書きしながら 同時進行で出力しています。
【FINAL】コード
for (let i = 1; i <= 100; i++) { // 1 〜 100までループ
if (i % 3 === 0 && i % 5 === 0) { // i が 3 と 5 で割り切れれば…
console.log('FizzBuzz'); // FizzBuzz を出力
} else if (i % 3 === 0) { // それ以外で 3 で割り切れれば…
console.log('Fizz'); // Fizz を表示
} else if (i % 5 === 0) { // それ以外で 5 で割り切れれば…
console.log('Buzz'); // Buzz を表示
} else { // それ以外なら…
console.log(i); // i を表示
}
}
1〜100 まで ループしながら if文 で条件分岐。
コメント