C语言求一个区间内的素数个数
时间: 2024-10-20 08:19:24 浏览: 56
在C语言中,计算某个区间的素数个数通常涉及两个步骤:首先遍历区间找出所有素数,然后计数。下面是一个简单的算法示例:
1. 定义一个函数`is_prime()`用于检查一个整数是否为素数。对于一个小于等于1的数或能被2到其平方根之间的数整除的数,它不是素数。
```c
#include <stdio.h>
#include <math.h>
int is_prime(int num) {
if (num <= 1)
return 0;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0)
return 0;
}
return 1;
}
```
2. 创建主函数`count_primes_in_range()`,接受起始值`start`和结束值`end`作为参数,计算并返回区间内的素数个数。
```c
int count_primes_in_range(int start, int end) {
int count = 0;
for (int i = start; i <= end; i++) {
if (is_prime(i))
count++;
}
return count;
}
int main() {
int start_num, end_num;
printf("请输入区间范围(例如:5 20):");
scanf("%d %d", &start_num, &end_num);
int prime_count = count_primes_in_range(start_num, end_num);
printf("区间 [%d, %d] 内的素数个数为:%d\n", start_num, end_num, prime_count);
return 0;
}
```
阅读全文