ループメニュー 2【未知数個の数の受け取り・文字列の受け取り・奇数だけ出力・割り切れる数だけ出力・偶奇の判定】
【STEP: 1】コード
reader.on('close', () => {
const a = lines[0].split(' ').map(Number);
for (const n of a) { // n で a の各要素を受け取って…
if (n === -1) { // n が -1 なら…
console.log(n); // n を出力してから…
break; // ループを止める
}
console.log(n); // n で 受け取った a の各要素を出力する
}
});
要素数がわからないので 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 増やす
}
});
カウンタ変数 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] を出力
}
}
});
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] を出力
}
}
});
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 を出力
}
}
});
a[i] を 2 で割った余り(a[i] % 2 )が true(1) なら ″odd″ で false(0)なら ″even″。
コメント