AIZU ONLINE JUDGE ITP1_4_Aをpythonで解いてみた

python

本サイトAIZU ONLINE JUDGE ITP1_4_A へはこちらから

目次

問題:割り算

2つの整数 a と b を読み込んで、以下の値を計算するプログラムを作成して下さい:

  • a ÷ b : d (整数)
  • a ÷ b の余り : r (整数)
  • a ÷ b : f (浮動小数点数)

Input

1行に2つの整数 a, b が与えられます。

Output

d, r, f を1つの空白で区切って1行に出力して下さい。fについては、0.00001以下の誤差があってもよいものとします。

Constraints

  • 1 ≤ a, b ≤ 109

Sample Input

3 2

Sample Output

1 1 1.50000

解答例

a, b = map(int, input().split())

print('{0} {1} {2:.5f}'.format(a//b, a % b, a/b))

解説

以下のように解いていきます。

  1. 2つの整数の読み込み
  2. 割り算の商、割り算の余り、浮動小数点数を使用しての割り算の結果の表示

ここではmap関数を使用します。第二引数のinput().split()で空白区切りの文字列として取得した値を、一つずつint関数に当てはめて整数型に変換し、a、bに設定していきます。

# input().split()で空白区切りの文字列を取得 → intに変換 → a、b に設定
a, b = map(int, input().split())

※サイト内「AIZU ONLINE JUDGE ITP1_1_Cをpythonで解いてみた」の、map関数とはにmap関数の使用方法が書かれておりますのでぜひご覧ください。

割り算の商は //
割り算の余りは %
を使用します。

※サイト内「pythonの演算子についてまとめてみた」に演算子の使用方法をまとめましたのでよかったらご覧ください。

また、浮動小数点数を使用しての割り算の結果の表示はformat関数を使用して、少数第五位まで表示するように設定します。

format関数の引数にを”a/b”を設定し、置き換え先に”{2:.5f}”を設定します。
※.5fは少数第五位までを意味しています。

また、{}(置換フィールド)に数値を設定することで、表示する順番を指定する事ができます。数値を使用する場合は、 0 , 1 , 2 , … と順番に数値を指定していきます。指定する数字は0から始まることに注意しましょう。

# //は商、%は余り、a/bを少数第五位まで表示するため、置き換え先を{2:.5f}にする。
# {0} {1} {2}の順番にa//b, a % b, a/bが設定される。
print('{0} {1} {2:.5f}'.format(a//b, a % b, a/b))

※サイト内「AIZU ONLINE JUDGE ITP1_1_Dをpythonで解いてみた」の、format関数とはにformat関数の使用方法が書かれておりますのでよかったらご覧ください。

最後に、もう一度プログラムを確認してみましょう。

# input().split()で空白区切りの文字列を取得 → intに変換 → a, b に設定
a, b = map(int, input().split())

# //は商、%は余り、a/bを少数第五位まで表示するため、置き換え先を{2:.5f}にする。
# {0} {1} {2}の順番にa//b, a % b, a/bが設定される。
print('{0} {1} {2:.5f}'.format(a//b, a % b, a/b))
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

雇われのシステムエンジニアです。
普段は車載ECUのセキュリティー分野に従事しております。

■保有資格
Salesforce 認定 Platform アプリケーションビルダー
Salesforce 認定 Platform デベロッパー

コメント

コメントする

目次