るびらな!

RubyをLearnする人の勉強記録。(超)弩(級の)素人なので、誰かダメさがわかる人に罵ってもらったりして、少しずつ知見を広げたいと思っています。

ITP1_4_A A / B Problem@ruby

ここも押していただけると嬉しいです #=> にほんブログ村 IT技術ブログへ にほんブログ村 IT技術ブログ Rubyへ にほんブログ村 IT技術ブログ Ruby on Railsへ

AOJをRubyで解く、第12日目。

今日の問題はこちら #=>
A / B 問題 | プログラミング入門 | Aizu Online Judge

問題

割り算

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

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

Constraints

Constraints (制約)のセクションでは、判定に使用される入力データの上限などの情報が与えられます。プログラムで使用する変数の型を選ぶ場合やアルゴリズム(解き方)の設計に必要な情報になります。この問題に関する制約は以下の通りとなります:

1 ≤ a, b ≤ 109


Input

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


Output

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

この誤差の許容の仕方、たぶん浮動小数点の誤差が出るのは無視していいということが言いたいんでしょうね。

ということは、何も気にしないでとにかく計算すればいい!ということなので、とりあえずいってみましょう!






自分のコード

a,b = gets.split.map(&:to_i)
printf "%d %d %f\n",a/b,a%b,a/b.to_f

ちょっとカッコつけて書いてみました。

とか言いながら、全然簡単になってないのは仕様ですorz

勉強不足ですね。すみません。


他の人のコード

実行速度が最速だった人

#!/usr/bin/ruby
a,b=gets.split.map &:to_i;printf "%d %d %f\n",a/b,a%b,a/b.to_f

な・・・ん・・・だと・・・??

1行で書いたか2行で書いたかしか違わないのに、実行速度が違うだと・・・??

うん、サーバーのせいだってことにしとこう。0.01秒は誤差だと・・・

コードが最短の人

a,b=gets.split.map &:to_f
printf"%d %d %f",a/b,a%b,a/b

え? え??

商と余りは整数で出すのに、入力値を浮動小数にしてよかったの・・・?

色々試してみるべきでしたね・・