如何分解一个大整数

时间:2015-09-03 09:38:51

标签: r algorithm bigdecimal floating-point-precision

我试图用以下代码分解一个大整数:

factorize

这显然不是正确的因式分解,因为我的整数是奇数,但apply返回2作为因子。有什么问题?

1 个答案:

答案 0 :(得分:4)

尝试使用字符串创建bigz值:

> factorize(as.bigz("113423713055421844361000443"))
Big Integer ('bigz') object of length 4:
[1] 67003      29881      9119521    6212157481

我相信你出了什么问题,当你输入数字文字时,R会将它存储在浮点表示中,从而失去精确度。您需要在将bigz表示传递给factorize之前创建它,并且为了保持完全精确,您必须将其作为字符串传递给as.bigz