用c语言求1道100内素数的个数
时间: 2024-10-24 15:18:29 浏览: 10
在C语言中,求解1到100内的素数个数,通常会采用埃拉托斯特尼筛法(Sieve of Eratosthenes),这是一种高效的查找素数算法。以下是简化的代码实现:
```c
#include <stdio.h>
int is_prime(int n) {
if (n <= 1)
return 0;
if (n == 2)
return 1;
if (n % 2 == 0)
return 0;
int sqrt_n = (int)sqrt(n);
for (int i = 3; i <= sqrt_n; i += 2) {
if (n % i == 0)
return 0;
}
return 1;
}
int count_primes(int limit) {
int count = 0;
for (int i = 2; i <= limit; i++) {
if (is_prime(i)) {
count++;
}
}
return count;
}
int main() {
int primes_in_100 = count_primes(100);
printf("在1到100之间,素数的个数有:%d\n", primes_in_100);
return 0;
}
```
这个程序首先定义了一个`is_prime`函数来检查一个数字是否为素数,然后在主函数中遍历从2到100的所有整数,并计数那些是素数的。
阅读全文