競技プログラミング

【超初心者向け】AtCoderで最初に解くべき過去問集を分かりやすく解説します【1問目】

プログラミング

こんにちは!サトシ(@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’ と出力せよ。

ABC086A – Productより引用

 

入力例と出力例

入力例

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などでご質問ください^^

少しでも参考になれば嬉しいです!

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です