FizzBuzz

ループメニュー 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]を出力
   }
});
hogeちゃんの画像

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 × ia の末尾に追加
}
console.log(a.join(' '));  // a の値を半角スペースで連結して出力
hogeちゃんの画像

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 × ia の末尾に追加
   }
   console.log(a.join(' '));  // a の値を半角スペースで連結して出力
});
hogeちゃんの画像

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;  // nn × 2 で上書き
      console.log(n);
   }
});
hogeちゃんの画像
nn × 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 を表示
   }
}
hogeちゃんの画像

1〜100 まで ループしながら if文 で条件分岐。

コメント