在r中随机x之后找到素数

时间:2018-12-18 12:21:07

标签: r

我编写了此代码,现在我想找到大于x的最小素数?例如,给定4,我需要5;给定7,我需要11。

my_number = function(n) {
    rangeOfNumbers = 2:(n-1)
    if(any(n%%rangeOfNumbers == 0)){
      return(FALSE)
    }
    else return(TRUE)
  }

1 个答案:

答案 0 :(得分:0)

这是基于this function to find if a number is a prime number

的使用while循环的选项
first_prime <- function(n){

  is.prime <- function(n) {
    if (n == 2) {
      TRUE
    } else if (any(n %% 2:(n-1) == 0)) {
      FALSE
    } else { 
      TRUE
    }
  }
n <- n+1

while(is.prime(n) == FALSE) {
  n <- n+1
}
print(n)
}

> first_prime(10)
[1] 11
> first_prime(11)
[1] 13
> first_prime(12)
[1] 13
> first_prime(14)
[1] 17
> first_prime(20)
[1] 23