小编Nin*_*ina的帖子

R 中带有嵌套循环的素数函数给出了错误的结果

我需要创建一个函数,返回从 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)

debugging primes for-loop r nested-loops

3
推荐指数
1
解决办法
203
查看次数

标签 统计

debugging ×1

for-loop ×1

nested-loops ×1

primes ×1

r ×1