判断素数。统计m-n之间(包含边界)的所有素数的个数,c语言循环
时间: 2024-12-17 22:20:31 浏览: 9
1.5编程基础之循环控制(39题)--题目 有链接.pdf
在C语言中,判断一个整数是否为素数通常采用埃拉托斯特尼筛法(Sieve of Eratosthenes),这是一种高效的查找素数的方法。如果你想统计m-n之间的所有素数个数,可以按照以下步骤编写循环:
```c
#include <stdio.h>
int is_prime(int num) {
if (num <= 1) return 0; // 小于等于1的数不是素数
for (int i = 2; i * i <= num; i++) { // 只需检查到sqrt(num)
if (num % i == 0) return 0;
}
return 1; // 如果没被2到sqrt(num)整除,那么它是素数
}
int count_primes(int m, int n) {
int count = 0; // 初始化计数器
for (int i = m; i <= n; i++) {
if (is_prime(i)) {
count++;
}
}
return count; // 返回素数的数量
}
int main() {
int start = 10, end = 50; // 修改为你想要的范围
int primes_count = count_primes(start, end);
printf("在%d到%d范围内有%d个素数。\n", start, end, primes_count);
return 0;
}
```
在这个程序中,`is_prime`函数用于检查单个数字是否为素数,`count_primes`函数则通过遍历从m到n的每个数并调用`is_prime`来计算素数个数。
阅读全文