我正在写一个函数来查找从2到数字'n'的素数列表

时间:2019-09-02 16:18:55

标签: r

我知道有多种方法可以做到这一点,但是现在我想弄清楚为什么我的下面的代码不起作用。我在下面编写代码,并希望得到从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) } } }

1 个答案:

答案 0 :(得分:1)

您仅在函数中返回一个值。 for循环以i = 2开头,输入if语句,然后该函数由于返回2而终止。