c语言100以内素数求和
时间: 2024-01-06 16:04:34 浏览: 37
以下是使用C语言求解100以内素数之和的代码示例:
```c
#include <stdio.h>
int isPrime(int num) {
if (num <= 1) {
return 0;
}
for (int i = 2; i <= num / 2; i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int sum = 0;
for (int i = 2; i <= 100; i++) {
if (isPrime(i)) {
sum += i;
}
}
printf("100以内素数之和为:%d\n", sum);
return 0;
}
```
相关问题
怎么用c++一百内质数求和
以下是用C语言实现一百以内质数求和的代码:
```c
#include <stdio.h>
int main() {
int sum = 0;
for (int i = 2; i <= 100; i++) {
int flag = 1;
for (int j = 2; j < i; j++) {
if (i % j == 0) {
flag = 0;
break;
}
}
if (flag == 1) {
sum += i;
}
}
printf("一百以内质数的和为:%d\n", sum);
return 0;
}
```
代码解析:
首先定义一个变量sum用来记录质数的和,初始值为0。
然后使用for循环从2开始遍历到100,对于每个数i,再使用一个内层for循环从2到i-1,判断i是否能够被这些数整除,如果能被整除,说明i不是质数,将flag置为0,跳出这个循环。
如果内层循环结束后flag仍然为1,说明i是质数,将它加入sum中。
最后输出sum的值即可。
运行结果:
```
一百以内质数的和为:1060
```
C语言求500以内的10个最大素数及其和并分别输出
下面是一个求解500以内10个最大素数并输出它们以及它们的和的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 count = 0, sum = 0;
printf("500以内的10个最大素数为:\n");
for (int i = 500; i >= 2 && count < 10; i--) {
if (is_prime(i)) {
printf("%d ", i);
count++;
sum += i;
}
}
printf("\n它们的和为:%d\n", sum);
return 0;
}
```
这个程序中,我们使用了一个 `is_prime` 函数来判断一个数是否为素数,然后从500往下枚举,如果发现一个素数就输出并求和,直到输出了10个素数或者枚举到了2为止。最后输出这10个素数的和。