【发布时间】:2023-02-02 04:35:26
【问题描述】:
我编写了一个 R 函数来检查数字 x 是否为素数。如果不是,则打印该数字的因数。在代码中,除了何时打印非质数的因数外,一切似乎都还不错。我尝试了很多技巧,但没有用。我需要帮助。
prime = function(x){
if(x>1){
for(i in 2:(x/2+1)){
if(x%%i==0){
print(paste(x,"is not a prime number"))
print(paste("The factors of",x,"are:"))
for (j in 1:(x+1)){
if(x%%j==0){
print(paste(j,""))
break
}
}
}else{
print(paste(x, "is a prime number"))
break
}
}
}else{
print(paste("Enter value is that is greater than 1"))
}
}
当我调用函数时,它给出了下面的输出
> prime(0)
[1] "Enter value is that is greater than 1"
> prime(19)
[1] "19 is a prime number"
> prime(4)
[1] "4 is not a prime number"
[1] "The factors of 4 are:"
[1] "1 "
[1] "4 is a prime number"
一切正常,但我无法打印 x 的非素数因子。 谢谢
【问题讨论】:
-
我建议你可以找到更多信息即刻通过进行更有针对性的搜索。例如,StackOverflow
[r] prime factors本身就很有特色,甚至 Google"r" "prime" "factor"也有一些其他关于这个问题的好博客/帖子/问答。
标签: r