map関数を使った解答は以下の様に書くことができます。
a, b = map(int, input().split()) print(a * b, a * 2 + b * 2)
以下のプログラムのように、リスト内包表記を用いて空白区切の標準入力を処理することもできます。
input = input() a,b = [int(elem) for elem in input.split()] print(a * b, a * 2 + b * 2)
map関数を使った解法と違うところは2行目です。ここではリスト内包表記を使って、それぞれの要素を int 型に変換しています。 この問題の本質からは外れるので詳しい説明は後のトピックであつかいますが、柔軟性の高い表記法なので、こういった書き方ができる点も知っておきましょう。
オンラインジャッジではじめるC/C++プログラミング入門 (マイナビ)AIZU ONLINE JUDGE のコース問題を題材にした解説書です。各トピックごとに C/C++ 言語の基礎的な内容を学習し、Introduction to Programming の演習問題にチャレンジしていきます。内容は敷居の高いものではなく、プログラミング初学者が取り組む例題からスタートしています。 |