需要查找給定n的所有k-平滑數字。 我試過如下:查找R中給定n的k-平滑數字
library(gmp)
S <- c(1:30)
test <- function(range, k){
if(!isprime(k)==2){
print("k should be a prime number")
}
else{
for(i in range[1]:range[length(range)]){
pf <- as.integer(factorize(i))
if(max(pf) <= k){
print(range[i])
}
}
}
}
在控制檯:測試(S,11)
[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
[1] 6
[1] 7
[1] 8
[1] 9
[1] 10
[1] 11
[1] 12
[1] 14
[1] 15
[1] 16
[1] 18
[1] 20
[1] 21
[1] 22
[1] 24
[1] 25
[1] 27
[1] 28
[1] 30
*Warning message:
In max(pf) : no non-missing arguments to max; returning -Inf*
我想擺脫的警告。請幫忙! factorize()函數返回bigz是否存在問題?將其改爲as.integer(factorize(i))?無法理解的原因警告