【发布时间】:2012-03-23 04:05:28
【问题描述】:
我正在从事 Project Euler,用 JavaScript 编写解决方案。但是,问题 16 似乎无法用 Javascript 解决:
215 = 32768,其数字之和为 3 + 2 + 7 + 6 + 8 = 26。
数字21000的位数和是多少?
因为 JavaScript 的 64 位精度不足以容纳该数字,所以计算 Math.pow(2, 1000) 得到 1.0715086071862673e+301。显然,我不能使用这个值来解决问题,因为它不包含 21000 的所有数字。
还有其他方法可以解决这个问题吗?请注意,我不是在问how to get around the precision issue;但是,如果这是唯一的解决方案,那就这样吧。
理想情况下,我想为这个问题找到一个替代解决方案(也许是一种超级史诗般的数学方法?)。
(作为旁注,我并没有试图欺骗并从 SO 中放弃答案。我已经解决了,但我必须使用 Python)
【问题讨论】:
标签: javascript