我编写了此代码,现在我想找到大于x的最小素数?例如,给定4,我需要5;给定7,我需要11。
my_number = function(n) {
rangeOfNumbers = 2:(n-1)
if(any(n%%rangeOfNumbers == 0)){
return(FALSE)
}
else return(TRUE)
}
答案 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