我需要找到向上舍入的巨大(5k位左右)數字的立方根。 我該怎麼做?查找大數的立方根
Q
查找大數的立方根
0
A
回答
0
這是straightforward iterative algorithm。需要注意的是,他們提出一個觀點唱出special case of square roots的:
一個特殊情況是大家熟悉的 平方根算法。通過設置N = 2,在步驟2 迭代規則變成平方根迭代規則
可以應用於立方根相同的技術:設置N = 3和迭代,直到獲得所需的precision。
對於註釋中的規範「它需要四捨五入到最接近的整數並且是精確的」,這隻適用於具有整數或有理立方根的數字。也就是說,可以使用引用的算法通過迭代直到一個迭代的結果與下一個迭代的結果之間的差值小於0.5來找到對這個精度級別的答案。這足夠接近以確保將來的迭代不會遠離那個近似值。
這是數學分析課的練習嗎?如果是這樣,我懷疑這正是爲什麼這樣提出問題的原因:教師希望你將具體問題應用於一般規則。
+0
我不需要精確度...正如我所說的,我需要四捨五入取整 – Dani 2010-12-05 19:24:05
5
如果GNU BC是對你罰款,這可能會做:
http://phodd.net/gnu-bc/bcfaq.html#bccbrt
編輯:
它本質歸結爲:
$ bc -l
define cbrt(x) { return e(l(x)/3) }
您將需要增加以便具有必要的精度:
$ bc -l
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
define cbrt(x) { return e(l(x)/3) }
cbrt(10000000000000000000000000000000000000000000000000000000000000000000)^3
9999999999999999999845725361475980907263179272258247094885777761435.\
89049462743995306310
scale=1000
cbrt(10000000000000000000000000000000000000000000000000000000000000000000)^3
9999999999999999999999999999999999999999999999999999999999999999999.\
99999999999999999999999999999999999999999999999999999999999999999999\
99999999999999999999999999999999999999999999999999999999999999999999\
99999999999999999999999999999999999999999999999999999999999999999999\
99999999999999999999999999999999999999999999999999999999999999999999\
99999999999999999999999999999999999999999999999999999999999999999999\
99999999999999999999999999999999999999999999999999999999999999999999\
99999999999999999999999999999999999999999999999999999999999999999999\
99999999999999999999999999999999999999999999999999999999999999999999\
99999999999999999999999999999999999999999999999999999999999999999999\
99999999999999999999999999999999999999999999999999999999999999999999\
99999999999999999999999999999999999999999999999999999999999999999999\
99999999999999999999999999999999999999999999999999999999999999999999\
99999999999999999999999999999999999999999999999999999999999999999999\
99999999999999999999999999999999999999999999999978254573198390239858\
069738839057154871628814670160708326688382280410
正如你可能已經注意到的那樣,在不增加scale變量的情況下(在我的系統上默認爲20),結果遠不及你所要求的精度。
相關問題
- 1. 大數的立方根
- 2. 正方形/立方根查找表
- 3. 負實數的立方根
- 4. 如何在Python中查找大數的平方根?
- 5. 如何在MATLAB中查找更大的立方體中的小立方體?
- 6. 查找數字的近似平方根
- 7. 查找數字的平方根
- 8. PHP立方根
- 9. 僅使用整數查找平方根
- 10. Ç - 尋找具有POW功能負數的立方根
- 11. 檢查數字是否具有整數立方根
- 12. 模N的立方根
- 13. Excel公式根據日期查找最近的更大數字
- 14. 如何更改代碼以查找負數和正數的立方根的近似值?
- 15. Python程序找到立方體根的溢出錯誤
- 16. 查找最大和最大的數字
- 17. 根據現有立方體數據創建測試立方體(但要大得多)
- 18. 根據兩個字段查找大多數重複條目的Mysql查詢
- 19. 什麼是尋找(立方)多項式的實根的簡單方法?
- 20. 查找孤立數據庫對象
- 21. 查找最大隨機數
- 22. SQL:查找最大行數
- 23. C++查找最大數目
- 24. 查找根/功能
- 25. 查找根視圖
- 26. Python中的立方根錯誤值
- 27. 查找大數的斐波納契數
- 28. 查找大因子數的因數和?
- 29. 查找數組中的最大分數
- 30. 功能的C++查找根
您是否嘗試過http://www.gnu.org/software/bc/?或者如果你需要用某種特定的語言來做到這一點,那它是什麼語言?是否有特定的時間/空間限制? – 2010-12-05 19:18:14
我試過bc,但它不喜歡非整數(1/3)指數 – Dani 2010-12-05 19:23:17