编写一个函数 找素数C
时间: 2023-06-24 18:09:12 浏览: 42
以下是一个简单的找素数的 C 语言函数:
```c
#include <stdio.h>
int is_prime(int n) {
if (n <= 1) {
return 0;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int n;
printf("请输入一个正整数:");
scanf("%d", &n);
if (is_prime(n)) {
printf("%d 是素数\n", n);
} else {
printf("%d 不是素数\n", n);
}
return 0;
}
```
这个函数叫做 `is_prime`,它接受一个整数 `n` 作为参数,并返回一个整数。如果 `n` 是素数,返回 `1`;否则,返回 `0`。
函数的实现很简单,它首先检查 `n` 是否小于等于 `1`,如果是,直接返回 `0`。然后,它从 `2` 开始遍历到 `sqrt(n)`(注意这里使用了平方根优化),如果发现 `n` 能被某个数整除,那么 `n` 就不是素数,返回 `0`。如果都遍历完了都没有返回 `0`,那么 `n` 就是素数,返回 `1`。
在 `main` 函数中,我们读入一个正整数 `n`,然后调用 `is_prime` 函数判断它是否是素数,最后输出结果。