結果
問題 |
No.955 ax^2+bx+c=0
|
ユーザー |
|
提出日時 | 2020-06-02 01:47:28 |
言語 | Ruby (3.4.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 793 bytes |
コンパイル時間 | 283 ms |
コンパイル使用メモリ | 7,424 KB |
実行使用メモリ | 12,544 KB |
最終ジャッジ日時 | 2024-11-22 19:22:32 |
合計ジャッジ時間 | 14,454 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 WA * 1 |
other | AC * 84 WA * 38 |
コンパイルメッセージ
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 * ans1 ) / a else ans2 = (-b + d ** 0.5) / ( 2.0 * a ) ans1 = ( c * ans2 ) / a end # ans1 = (ans1 * 10**14).round / (1.0*(10**14)) # ans2 = (ans2 * 10**14).round / (1.0*(10**14)) # ans1, ans2 = ans2, ans1 if a < 0 puts 2 printf "%.20f\n", ans1 printf "%.20f\n", ans2 # puts "2 #{ans1.to_f} #{ans2.to_f}" end end