验证三个多维数据集的总和是否等于33:在R中失败,在Python中工作
最近,找到了以下整数方程的解:验证三个多维数据集的总和是否等于33:在R中失败,在Python中工作,python,r,Python,R,最近,找到了以下整数方程的解: x^3 + y^3 + z^3 = 33 也就是说,它适用于 如果我在Python中检查它,就可以了: >>> (8866128975287528)**3 - (8778405442862239)**3 - (2736111468807040)**3 33L 但是,在R中,它不起作用: 8866128975287528^3 - 8778405442862239^3 - 2736111468807040^3 [1] -2.535301e+30
x^3 + y^3 + z^3 = 33
也就是说,它适用于
如果我在Python中检查它,就可以了:
>>> (8866128975287528)**3 - (8778405442862239)**3 - (2736111468807040)**3
33L
但是,在R中,它不起作用:
8866128975287528^3 - 8778405442862239^3 - 2736111468807040^3
[1] -2.535301e+30
为什么?R使用32位整数,这意味着R可以容纳的最大整数约为20亿。您可以使用包int64来尝试解决这个问题。有关更多信息,请参阅。32位的最大数字是2147483647。你必须使用特殊的库。 您可以将
库(opennssl)
与函数bignum()
一起使用
Python使用无限精度整数,而R使用32位整数。我发现,奇怪的是,它没有显示任何警告…它没有显示任何警告,因为它可能将这些文本解释为双精度。
library(openssl)
bignum(8866128975287528)^3 - bignum(8778405442862239)^3 - bignum(2736111468807040)^3
> 33