結果
問題 |
No.955 ax^2+bx+c=0
|
ユーザー |
|
提出日時 | 2020-06-02 01:49:38 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 96 ms / 2,000 ms |
コード長 | 815 bytes |
コンパイル時間 | 161 ms |
コンパイル使用メモリ | 7,424 KB |
実行使用メモリ | 12,544 KB |
最終ジャッジ日時 | 2024-11-22 19:26:50 |
合計ジャッジ時間 | 14,140 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 122 |
コンパイルメッセージ
Syntax OK
ソースコード
a, b, c = gets.to_s.split.map{|i| i.to_i } if a < 0 a = -a b = -b c = -c end if a == 0 && b == 0 puts c == 0 ? -1 : 0 elsif a == 0 puts 1 printf "%.15f\n", (-c/1.0/b) else d = b ** 2 - 4 * a * c if d < 0 puts 0 elsif d == 0 puts 1 printf "%.15f\n", (-b/2.0/a) # ans = Rational( -b, 2 * a) # puts "1 #{ans.to_f}" else if b > 0 ans1 = (-b - d ** 0.5) / ( 2.0 * a ) ans2 = c / ( a * ans1 ) else ans2 = (-b + d ** 0.5) / ( 2.0 * a ) ans1 = c / ( a * ans2 ) # ans1 = 0 end # ans1 = (ans1 * 10**14).round / (1.0*(10**14)) # ans2 = (ans2 * 10**14).round / (1.0*(10**14)) ans1, ans2 = ans2, ans1 if ans1 > ans2 puts 2 printf "%.15f\n", ans1 printf "%.15f\n", ans2 # puts "2 #{ans1.to_f} #{ans2.to_f}" end end