結果
問題 | No.955 ax^2+bx+c=0 |
ユーザー |
|
提出日時 | 2019-12-18 00:54:53 |
言語 | Ruby (3.4.1) |
結果 |
RE
|
実行時間 | - |
コード長 | 523 bytes |
コンパイル時間 | 103 ms |
コンパイル使用メモリ | 7,424 KB |
実行使用メモリ | 12,544 KB |
最終ジャッジ日時 | 2024-07-07 00:04:25 |
合計ジャッジ時間 | 11,233 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 101 WA * 5 RE * 16 |
コンパイルメッセージ
Main.rb:6: warning: ambiguous first argument; put parentheses or a space even after `-' operator Syntax OK
ソースコード
def lscan; gets.split.map(&:to_r); end a,b,c = lscan if a == 0 if b == 0 if c == 0 p -1 else p 0 end exit end p 1 h = -c/b printf "%.15f\n", h exit end d = b*b-4*a*c z = -b/2/a if d < 0 p 0 elsif d == 0 p 1 printf "%.15f\n", z else # 2az + b = 0 p 2 printf "%.15f\n", (-1e99..z.to_f).bsearch{|x| a*x*x+b*x+c < 0} printf "%.15f\n", (z.to_f..1e99).bsearch{|x| a*x*x+b*x+c > 0} # printf "%.15f\n", z-Math.sqrt(d)/2/a.abs # printf "%.15f\n", z+Math.sqrt(d)/2/a.abs end