C语言子函数判断素数
时间: 2023-09-24 22:02:38 浏览: 80
下面是一个判断素数的 C 语言子函数的例子:
```c
#include <stdbool.h>
bool is_prime(int num) {
if (num <= 1) {
return false;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
```
这个函数接受一个整数参数 `num`,并且返回一个布尔值表示它是否为素数。函数会先判断 `num` 是否小于等于 1,如果是则直接返回 `false`。然后使用一个循环,从 2 开始枚举可能的因子,如果找到一个能够整除 `num` 的因子,则 `num` 不是素数,返回 `false`。如果循环结束仍然没有找到因子,则 `num` 是素数,返回 `true`。
相关问题
C语言设计子函数求100~200素数
可以使用以下代码来实现:
```c
#include <stdio.h>
int is_prime(int num) {
if (num < 2) {
return 0;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
int main() {
printf("100~200之间的素数:\n");
for (int i = 100; i <= 200; i++) {
if (is_prime(i)) {
printf("%d ", i);
}
}
printf("\n");
return 0;
}
```
其中,`is_prime()` 函数用来判断一个数是否为素数,主函数则使用循环遍历100~200之间的所有数,调用 `is_prime()` 函数来判断是否为素数并输出。
素数表c语言函数专题
素数表是一个常见的数学问题,它可以通过编程来解决。下面是一个C语言函数,用于生成指定范围内的素数表:
```c
#include <stdio.h>
#include <math.h>
int prime(int n) {
int m, i, count = 0, flag = 0;
for (i = 2; i <= sqrt(n); i++) {
if (n % i == 0) {
count++;
}
}
if (count == 0) {
flag = 1;
}
return flag;
}
int main() {
int m, n, i, count = 0;
scanf("%d%d", &m, &n);
if (m < 2) {
m = 2;
}
for (i = m; i <= n; i++) {
if (prime(i) == 1) {
printf("%d ", i);
}
}
return 0;
}
```
该函数使用了一个名为prime的子函数,该函数用于判断一个数是否为素数。主函数中使用了scanf函数来读取用户输入的范围,然后使用for循环遍历该范围内的所有数字,并调用prime函数来判断是否为素数,最后输出素数表。