Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Integer
- def isqrt
- return 0 if zero?
- return 1 if self == 1
- return nil if self < 0
- x_k = next_x_k = (self >> 1)
- begin
- x_k = next_x_k
- next_x_k = (x_k + self/x_k) >> 1
- end until (x_k - next_x_k) <= 0
- return x_k
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement