r语言求素数
时间: 2023-07-18 13:07:19 浏览: 101
以下是 R 语言中求素数的代码示例:
```R
is_prime <- function(n) {
if (n <= 1) {
return(FALSE)
} else if (n == 2) {
return(TRUE)
} else if (n %% 2 == 0) {
return(FALSE)
} else {
for (i in 3:sqrt(n)) {
if (n %% i == 0) {
return(FALSE)
}
}
return(TRUE)
}
}
get_primes <- function(n) {
primes <- c()
for (i in 2:n) {
if (is_prime(i)) {
primes <- c(primes, i)
}
}
return(primes)
}
```
其中,`is_prime(n)` 函数用于判断一个数 `n` 是否为素数,`get_primes(n)` 函数用于获取所有小于等于 `n` 的素数。使用示例如下:
```R
> get_primes(20)
[1] 2 3 5 7 11 13 17 19
```
该函数先判断 `n` 是否小于等于 1,若是则返回 `FALSE`;若 `n` 等于 2,则返回 `TRUE`;若 `n` 为偶数,则返回 `FALSE`;若 `n` 为奇数,则从 3 到 $\sqrt{n}$ 的范围内遍历,若有整除的因子,则返回 `FALSE`;否则返回 `TRUE`。`get_primes(n)` 函数则遍历从 2 到 `n` 的所有数字,若该数字为素数,则加入到 `primes` 列表中,最后返回 `primes` 列表。
阅读全文