我需要创建一个函数,返回从 3 到 n 的所有素数的向量。我知道有更简单的方法可以让函数确定一个数字是否为素数,但我被特别要求使用 2 循环。我的功能:
prime.numbers = function(n= 100){
l=c()
for (i in 3:n){
for (j in 2:ceiling(sqrt(i))){
if ((i %% j )== 0) {
break }
else{ l= append(l,i)}
} }
return(l)}
prime.numbers()
Run Code Online (Sandbox Code Playgroud)
以 n = 100 为例,我得到:
[1] 3 5 5 7 7 9 11 11 11 13 13 13 15 17 17 17 17 19 19 19 19 21 23 23 23 23
[27] 25 25 25 27 29 29 29 29 29 31 31 …Run Code Online (Sandbox Code Playgroud)