r-我如何使用gmp包来利用一个循环来处理一个非常大的数字



我开发了一个循环,用于计算给定数字的最大素数。

for(i in (p-1):(1)){
if ((p%%i)==0){
p<-append(p,i)
}
}
n<-c()
for (i in p){
if (sum(i/1:i==i%/%1:i)==2){
n=c(n,i)
}
}
max<-max(n)

这适用于r可以处理的数字。然而,当我尝试这个大数字600851475143时,我收到了错误:

long vectors not supported yet

我知道这是r无法处理大量数据的问题。我试着通过使用gmp包来绕过这个问题:

install.packages("gmp")
library(gmp)

使用as.bigz和我的号码:

p<-as.bigz(600851475143)

但这会返回错误:

Error in (p - 1):(1) : unimplemented type 'raw' in 'asReal'
In addition: Warning message:
In (p - 1):(1) : numerical expression has 20 elements: only the first used

我将如何使用gmp包(或类似的包(来执行我所做的循环?

谢谢。

install.package("gmp")
library(gmp)
factorize(600851475143)

相关内容

  • 没有找到相关文章

最新更新