2009-03-03 25 views
5

Có cách nào để lấy căn bậc hai của một số nguyên lớn không? Tôi đang đối phó với những con số quá lớn cho int64 để xử lý nên bigint là phải.Gốc vuông cho Bigint trong F #

Tôi đã xem xét ý tưởng triển khai bản thân mình bằng phương pháp Babylon, nhưng muốn biết liệu có bất kỳ chức năng tích hợp nào cho lần đầu tiên này hay không.

Xin cảm ơn trước.

+0

Tôi cũng muốn điều này. (Trong trường hợp của tôi, tôi có thể tránh nó, vì nó chỉ là một sự so sánh, tôi bình phương cả hai bên) –

+0

Google cho 'lsqrt' – leppie

Trả lời

2

Bạn có thể sử dụng phương thức newton trên bất kỳ vô hướng nào.

http://en.wikipedia.org/wiki/Newton%27s_method

- MarkusQ

T.B. Xem thêm http://en.wikipedia.org/wiki/Methods_of_computing_square_roots

+0

Tôi tin rằng phương pháp Newton còn được gọi là phương pháp Babylon. – duffymo

+1

Vâng, đó là những gì anh ấy nói anh ấy đang xem xét sử dụng. Khi tôi học nó, nó luôn được gọi là phương pháp Newton, vì vậy khi tôi đọc "phương pháp Babylon", suy nghĩ, và truyền lại nó luôn luôn xuất hiện như là "phương pháp của Newton". Mặc dù vậy, tôi đã ngừng gọi các đĩa CD "hồ sơ", vì vậy, tôi hy vọng có được. – MarkusQ

+0

Nó luôn là phương pháp của Newton đối với tôi. Gần đây tôi chỉ biết về bí danh. – duffymo