第72回【Python】3 の倍数判定、2 つの倍数判定、偶奇の判定

現在取り組んでいるのは、paiza ラーニング問題集「条件分岐メニュー」になります。

はじめに

猫とキャンプと野球観戦と AWS が大好きな旦那、LeoSaki です。モフモフしたい。

Python をゼロから勉強してみよう、のコーナー 72 回目です。

様々な個性が集まって会社になります。好き嫌いもあるし、合う合わないもある。どちらか一方が、ではなく、お互いが少しずつ歩み寄ることで和が生まれると思います。

それでは、今日も頑張ってみようと思います。

3 の倍数判定

整数Nが与えられます。Nが 3 の倍数の場合はYESを、そうではない場合はNOを出力してください。


すべてのテストケースにおいて、以下の条件をみたします。

・ N は 1 以上 1,000 未満の整数


6

余りのある割り算って小学 3 年生でやるやつですよね。躓いていた子が多かった印象。遠い遠い記憶だけれど。3 の倍数は 3 で割って余りが 0 である、ということ。

Python
N = int(input())
if N % 3 == 0:
    print("YES")
else:
    print("NO")
VBA
N = Cells(1, 1)
If N Mod 3 = 0 Then
    Debug.Print "YES"
Else
    Debug.Print "NO"
End If

2 つの倍数判定

整数Nが与えられます。Nが 3 の倍数かつ 5 の倍数の場合はYESを、そうではない場合はNOを出力してください。


すべてのテストケースにおいて、以下の条件をみたします。

・ N は 1 以上 1,000 未満の整数


15

3 と 5 の公倍数である 15 で割り切れる場合、とも言えるが、問題の意図を汲み取って、二つの条件を and で繋いでみる。

Python
N = int(input())
if N % 3 == 0 and N % 5 == 0:
    print("YES")
else:
    print("NO")
VBA
N = Cells(1, 1)
If N Mod 3 = 0 And N Mod 5 = 0 Then
    Debug.Print "YES"
Else
    Debug.Print "NO"
End If

偶奇の判定

長さ N の数列Aが与えられます。この数列に含まれる偶数の要素の個数と、奇数の要素の個数を答えてください。

偶数の要素の個数Eと、奇数の要素の個数Oを半角スペース区切りで出力してください。末尾に改行を入れ、余計な文字、空行を含んではいけません。

E O

すべてのテストケースにおいて、以下の条件をみたします。

・ N は 1 以上 1,000 未満の整数
・ A の各要素の値は 0 以上 100 未満


5
1 2 3 4 5

偶奇判定は、意外といろんな場所で使われている印象。

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)
VBA
N = Cells(1, 1)
A = Split(Cells(2, 1), " ")
E = 0
For i = LBound(A) To UBound(A)
    If A(i) Mod 2 = 0 Then E = E + 1
Next
Debug.Print E & " " & N - E

最後に

倍数の判定や偶奇判定は実務でも結構出てくる印象がある。Python では、「%」が剰余演算子であることを忘れない。結構、mod と書いてしまう。

世の親御さんたちは、是非、お子様に公倍数や余りのある割り算の重要性を教えてあげてください。ありがちな、こんなの何に使うん? で、お子様が投げ出されてしまっては、絶対に将来苦労します。(実際、昔の職場で余りの理解が乏しい新入社員がいて大変でした。物を売る会社だったのに)

引き続き、よろしくお願いいたします!

Python学習,Python,paiza

Posted by LeoSaki