我知道有多种方法可以做到这一点,但是现在我想弄清楚为什么我的下面的代码不起作用。我在下面编写代码,并希望得到从2到数字'n'的质数列表。而是只返回数字“ 2”。例如,如果我运行prime.list(10),它将返回2而不是返回2、3、5和7
prime.list <- function(n) {
for (i in 2:n) {
if (i==2) {
return(i)
}
else if (sum(i %% 2:(i-1)==0) == 0){
return(i)
}
}
}
答案 0 :(得分:1)
您仅在函数中返回一个值。 for循环以i = 2开头,输入if语句,然后该函数由于返回2而终止。