第72回【JavaScript】3 の倍数判定、2 つの倍数判定、偶奇の判定
現在取り組んでいるのは、paiza ラーニング問題集「条件分岐メニュー」になります。
はじめに
猫とキャンプと野球観戦と AWS が大好きな旦那、LeoSaki です。モフモフしたい。
JavaScript をゼロから勉強してみよう、のコーナー 72 回目です。
業務が立て込んでいて、勉強の時間が集中して取れない状況です。そんなときでも、毎日少しでも勉強を続けることだけは意識しています。
それでは、今日も頑張ってみようと思います。
3 の倍数判定 (paizaランク D 相当)
整数Nが与えられます。Nが 3 の倍数の場合はYES
を、そうではない場合はNO
を出力してください。
入力される値
N
入力値最終行の末尾に改行が1つ入ります。
期待する出力
YES
またはNO
を出力してください。
YES
または
NO
また、末尾に改行を入れ、余計な文字、空行を含んではいけません。
すべてのテストケースにおいて、以下の条件をみたします。
・ N は 1 以上 1,000 未満の整数
入力例
6
出力例
YES
3 の倍数。3 ですか。アホになるやつ。懐かしいですね。
JavaScript
process.stdin.resume();
process.stdin.setEncoding('utf8');
var lines = [];
var reader = require('readline').createInterface({
input: process.stdin,
output: process.stdout
});
reader.on('line', (line) => {
lines.push(line);
});
reader.on('close', () => {
const n = Number(lines[0]);
if (n % 3 == 0) {
console.log('YES');
} else {
console.log('NO');
}
});
Python
N = int(input())
if N % 3 == 0:
print("YES")
else:
print("NO")
2 つの倍数判定 (paizaランク D 相当)
整数Nが与えられます。Nが 3 の倍数かつ 5 の倍数の場合はYESを、そうではない場合はNOを出力してください。
入力される値
N
入力値最終行の末尾に改行が1つ入ります。
期待する出力
YES
またはNO
を出力してください。
YES
または
NO
また、末尾に改行を入れ、余計な文字、空行を含んではいけません。
すべてのテストケースにおいて、以下の条件をみたします。
・ N は 1 以上 1,000 未満の整数
入力例
15
出力例
YES
かつ、なので、AND 条件でやる。15 の倍数じゃダメだろうか、とは疑問に思わないこととする。
JavaScript
process.stdin.resume();
process.stdin.setEncoding('utf8');
var lines = [];
var reader = require('readline').createInterface({
input: process.stdin,
output: process.stdout
});
reader.on('line', (line) => {
lines.push(line);
});
reader.on('close', () => {
const n = Number(lines[0]);
if (n % 3 == 0 && n % 5 == 0) {
console.log('YES');
} else {
console.log('NO');
}
});
Python
N = int(input())
if N % 3 == 0 and N % 5 == 0:
print("YES")
else:
print("NO")
偶奇の判定 (paizaランク D 相当)
長さ N の数列Aが与えられます。この数列に含まれる偶数の要素の個数と、奇数の要素の個数を答えてください。
入力される値
N
A1 A2 ... AN
入力値最終行の末尾に改行が1つ入ります。
期待する出力
偶数の要素の個数Eと、奇数の要素の個数Oを半角スペース区切りで出力してください。末尾に改行を入れ、余計な文字、空行を含んではいけません。
E O
また、末尾に改行を入れ、余計な文字、空行を含んではいけません。
すべてのテストケースにおいて、以下の条件をみたします。
・ N は 1 以上 1,000 未満の整数
・ A の各要素の値は 0 以上 100 未満
入力例
5
1 2 3 4 5
出力例
2 3
偶奇判定は定番です。
JavaScript
process.stdin.resume();
process.stdin.setEncoding('utf8');
var lines = [];
var reader = require('readline').createInterface({
input: process.stdin,
output: process.stdout
});
reader.on('line', (line) => {
lines.push(line);
});
reader.on('close', () => {
const n = Number(lines[0]);
const a = lines[1].split(/\s/).map(Number);
let e = 0;
for (let i = 0; i < n; i++) {
if (a[i] % 2 == 0) {
e++;
}
}
console.log(e,n-e);
});
Python
N = int(input())
A = list(map(int,input().split()))
E = 0
for a in A:
if a % 2 == 0:
E += 1
print(E,N-E)
最後に
どちらもよくあるパターンだったので、難しいことはなかったです。後は、書き方に慣れるだけです。相変わらずカッコを忘れたり、セミコロンがコロンだったり、凡ミスをすることが多い。情けない。
剰余計算は比較的なんにでも使えるパターンだと思うので、間違いなく書けるようになっておきたいものです。
引き続き、よろしくお願いいたします!
ディスカッション
コメント一覧
まだ、コメントがありません