我需要找到向上舍入的巨大(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