求3~100间素数的和 c语言
时间: 2024-02-03 13:14:32 浏览: 78
以下是用 C 语言实现求 3~100 间素数的和的程序:
```c
#include <stdio.h>
#include <stdbool.h>
bool is_prime(int n)
{
if (n == 2 || n == 3) {
return true;
}
if (n % 2 == 0 || n == 1) {
return false;
}
for (int i = 3; i * i <= n; i += 2) {
if (n % i == 0) {
return false;
}
}
return true;
}
int main()
{
int sum = 0;
for (int i = 3; i <= 100; ++i) {
if (is_prime(i)) {
sum += i;
}
}
printf("3~100间素数的和为:%d\n", sum);
return 0;
}
```
程序中的 `is_prime` 函数用于判断一个数是否为素数,实现方法为从 2 到 $\sqrt{n}$ 之间的数去判断。程序中的主函数遍历 3~100 之间的数,如果是素数就将其加到和中,最后输出和的值。
相关问题
用C语言求3~100的素数
在C语言中,我们可以创建一个函数来找出3到100范围内的所有素数。素数是指只有1和其本身两个正因数的自然数。以下是一个简单的C程序实现:
```c
#include <stdio.h>
#include <stdbool.h> // 使用布尔类型
bool isPrime(int num) {
if (num <= 1) return false;
if (num == 2 || num == 3) return true; // 素数包括2和3
if (num % 2 == 0 || num % 3 == 0) return false; // 除2和3外,素数不能被2或3整除
for (int i = 5; i * i <= num; i += 6) { // 提高效率,跳过非素数
if (num % i == 0 || num % (i + 2) == 0)
return false;
}
return true;
}
void printPrimes(int start, int end) {
for (int i = start; i <= end; ++i) {
if (isPrime(i))
printf("%d ", i);
}
printf("\n");
}
int main() {
int start = 3, end = 100;
printf("3到100之间的素数有:\n");
printPrimes(start, end);
return 0;
}
```
在这个程序中,`isPrime` 函数用于检查一个数是否为素数,`printPrimes` 函数则遍历指定范围并打印出所有的素数。
当你运行这个程序,它会输出3到100之间的所有素数。
求 100~ 200 之间的素数。C语言
以下是求解100~200之间的素数的C语言代码:
```c
#include <stdio.h>
#include <stdbool.h>
bool is_prime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
int main() {
int start = 100, end = 200;
printf("100~200之间的素数有:\n");
for (int i = start; i <= end; i++) {
if (is_prime(i)) {
printf("%d ", i);
}
}
printf("\n");
return 0;
}
```
该程序通过循环遍历100~200之间的所有数,调用is_prime函数判断每个数是否为素数,如果是素数则输出该数。is_prime函数采用了简单的质数判断算法,即判断是否存在一个比1大且小于等于n开方的数能整除n。
阅读全文
相关推荐














