結果

問題 No.955 ax^2+bx+c=0
ユーザー maimai
提出日時 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

ソースコード

diff #

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
0