Ruby 3.2 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Integerクラス > sqrt
sqrt(n) -> Integer
[permalink][rdoc]非負整数 n の整数の平方根を返します。すなわち n の平方根以下の最大の非負整数を返します。
Integer.sqrt(0) # => 0
Integer.sqrt(1) # => 1
Integer.sqrt(24) # => 4
Integer.sqrt(25) # => 5
Integer.sqrt(10**400) == 10**200 # => true
Math.sqrt(n).floor と同等ですが、後者は浮動小数点数の精度の限界によって真の値とは違う結果になることがあります。
Integer.sqrt(10**46) #=> 100000000000000000000000
Math.sqrt(10**46).floor #=> 99999999999999991611392 (!)
[SEE_ALSO] Math.#sqrt