codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
require "bigdecimal" n = gets.to_i m = 2 max = BigDecimal::new("0.0") min = BigDecimal::new("0.0") # 入力された数字が1の場合 if n == 1 puts 1 else # 範囲決定 while max == 0 if m * m * m >= n max = m end m += 1 end # nが3乗根の場合 if n == max * max * max puts max # 二分法を使って3乗根の近似値を出力する else min = max - 1.0 for i in 1..20 mid = (min + max) / 2 #途中経過を出力する puts mid midcu = mid * mid * mid if midcu < n min = mid else max = mid end end puts mid end end
Private
[
?
]
Run code
Submit