ITP1_4_A A / B Problem@ruby
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
Input1行に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
え? え??
商と余りは整数で出すのに、入力値を浮動小数にしてよかったの・・・?
色々試してみるべきでしたね・・