偶奇の判定

ループメニュー 2【未知数個の数の受け取り・文字列の受け取り・奇数だけ出力・割り切れる数だけ出力・偶奇の判定】

【STEP: 1】コード

reader.on('close', () => {
   const a = lines[0].split(' ').map(Number);
   for (const n of a) {  // na の各要素を受け取って…
      if (n === -1) {  // n が -1 なら…
         console.log(n);  // n を出力してから…
         break;  // ループを止める
      }
      console.log(n);  // n で 受け取った a の各要素を出力する
   }
});
hogeちゃんの画像

要素数がわからないので for…of でループしました。

【STEP: 2】コード

reader.on('close', () => {
   const s = lines[0].split(' ');
   let i = 0;  // カウンタ変数 i を 0 で初期化
   while (s[i] !== 'EOF') {  // s[i] が 'EOF と一致しない間…
      console.log(s[i]);  // s[i] を出力
      i++;  // i を 1 増やす
   }
});
hogeちゃんの画像

カウンタ変数 i を 0 で初期化して s[i] が″EOF″になるまで i++。

【STEP: 3】コード

reader.on('close', () => {
   const N = Number(lines[0]);
   const a = lines[1].split(' ').map(Number);
   for (let i = 0; i < N; i++) {
      if (a[i] % 2) {  // a[i] ÷ 2 の余りが 1(true) なら…
         console.log(a[i]);  // a[i] を出力
      }
   }
});
hogeちゃんの画像

a[i] を2で割った余り(a[i] % 2) が 1(true) の場合のみ出力。

【STEP: 4】コード

reader.on('close', () => {
   const N = Number(lines[0]);
   const a = lines[1].split(' ').map(Number);
   for (let i = 0; i < N; i++) {
      if (a[i] % 3 === 0) {  // a[i] ÷ 3 の余りが 0 なら…
      // if (!(a[i] % 3)) {
         console.log(a[i]);  // a[i] を出力
      }
   }
});
hogeちゃんの画像
a[i] を3で割った余り(a[i] % 2) が 0 の場合のみ出力。

【FINAL】コード

reader.on('close', () => {
   const N = Number(lines[0]);
   const a = lines[1].split(' ').map(Number);
   for (let i = 0; i < N; i++) {
      if (a[i] % 2) { // a[i] を 2 で割った余りが true(1) なら…
         console.log('odd');  // odd を出力
      } else {  // そうでなければ…
         console.log('even');  // even を出力
      }
   }
});
hogeちゃんの画像

a[i] を 2 で割った余り(a[i] % 2 )が true(1) なら ″odd″ で false(0)なら ″even″。

コメント