結果

問題 No.550 夏休みの思い出(1)
ユーザー mai
提出日時 2017-07-30 09:49:57
言語 Ruby
(3.4.1)
結果
AC  
実行時間 130 ms / 2,000 ms
コード長 539 bytes
コンパイル時間 58 ms
コンパイル使用メモリ 7,424 KB
実行使用メモリ 12,288 KB
最終ジャッジ日時 2024-10-11 05:42:01
合計ジャッジ時間 7,772 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 55
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

def ascan; gets.split.map(&:to_i); end
def scan; gets.to_i; end

aa,bb,cc = ascan

@a=aa
@b=bb
@c=cc
def calc(x)
    x*x*x+@a*x*x+@b*x+@c
end

def divc(x)
    3*x*x+2*@a*x+@b
end

def newton(x)
    x = (x).to_f
    200.times{
        return 0 if divc(x) == 0
        x = x-calc(x)/divc(x)
    }
    x.round
end

li = []
while li.size<3
    x0 = rand((-1e9.to_i)..(1e9.to_i))
    x0 = rand((li[0]+1)...(li[1])) if li.size == 2 && rand(50) == 0
    z = newton(x0)
    next unless calc(z) == 0
    li << z
    li.sort!.uniq!
end
puts li*" "

0