こんにちは!サトシ(@satoshi365_blog)です!
この記事では、「AtCoderに登録して最初に解くべき10問(AtCoder Beginners Selection)」の1問目「Product」をめちゃくちゃ分かりやすく解説していきます。
AtCoder で問題を解くためには、新規登録しないといけません。
新規登録はこちらから → AtCoder に新規登録する
それでは、「Product」の解説をしていきます!
1問目「Product」で身につくスキル
この問題では、こんなスキルが身につきます。
- 掛け算、割り算、余りの計算、カッコの使い方
- if の使い方
先に、それぞれどのようなスキルなのかを説明します。
掛け算、割り算、余りの計算、カッコの計算
掛け算は「 * 」を使います。
print(2 * 3) #6 を出力する
割り算は「 / 」を使います。
print(6 / 2) #3 を出力する
余りは「 % 」を使って求めます。
print(11 % 3) #2 を出力する
計算の順番を変えたいときは、カッコを使います。
print(6 / (1 + 2)) #2 を出力する
if の使い方
if は「もし〜だったら」と言う意味です。
「a == 10」と書くと、「a と 10 が同じかどうか」を判定できます。
だから、「もし a が 10 だったら Yes を出力する」には、このように書きます。
if a == 10:
print('Yes')
また、a が 10 の時にしてほしいことは、右に少しズラして書きます。
これをインデントと言います。
この例では、print(‘Yes’) を少し右にズラしています。
「 else 」を使うことで、「 a が 10 じゃなかった時にどうするか」も決められます。
これを使うと、「もし a が 10 じゃなかった時は No を出力する」こともできます。
if a == 0:
print('Yes')
else:
print('No')
1問目「Product」の解説
この順番で解説していきます。
- 問題文
- 入力例と出力例
- 解答例
- 解説
それでは見ていきましょう。
問題文
問題文
シカのAtCoDeerくんは二つの正整数 a, b を見つけました。a と b の積が偶数か奇数か判定してください。制約
・1 ≤ a, b ≤ 10000
・a, b は整数入力
入力は以下の形式で与えられる。a b
出力
積が奇数なら ‘Odd’ と、偶数なら ‘Even’ と出力せよ。
入力例と出力例
入力例
5 7
出力例
‘Odd’
解答例
a, b = map(int, input().split())
if (a * b) % 2 == 0:
print('Even')
else:
print('Odd')
解説
コードを詳しく解説していきます。
まずは a と b を受け取ります。
a, b = map(int, input().split())
次に、a と b をかけたものを 2 で割ったときに、余りが 0 か確認します。
もし 0 なら、’Even‘ と出力します。
if (a * b) % 2 == 0:
print('Even')
もし 0 じゃないなら、 ‘Odd‘ と出力します。
else:
print('Odd')
最後に、もう一度プログラムを確認してみましょう。
a, b = map(int, input().split())
if (a * b) % 2 == 0:
print('Even')
else:
print('Odd')
これで、2つの入力の積が奇数なら ‘Odd’ と、偶数なら ‘Even’ と出力できました。
まとめ
もし分からない点などありましたら、気軽にTwitterなどでご質問ください^^
少しでも参考になれば嬉しいです!