编写一个求5到50所有素数以及求和的c++程序
时间: 2023-05-25 18:05:35 浏览: 100
#include <stdio.h>
#include <stdbool.h>
bool isPrime(int num);
int main() {
int sum = 0;
printf("The Prime Numbers from 5 to 50 are:\n");
for (int i = 5; i <= 50; i++) {
if (isPrime(i)) {
printf("%d ", i);
sum += i;
}
}
printf("\nThe sum of Prime Numbers from 5 to 50 is: %d\n", sum);
return 0;
}
bool isPrime(int num) {
for (int i = 2; i < num; i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
相关问题
用c++编写一个程序,求出10到90所有素数以及求和
```c
#include <stdio.h>
#include <stdbool.h>
bool is_prime(int num) {
if (num < 2) {
return false;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
int main() {
int sum = 0;
for (int i = 10; i <= 90; i++) {
if (is_prime(i)) {
printf("%d ", i);
sum += i;
}
}
printf("\nSum of primes: %d\n", sum);
return 0;
}
```
输出:
```
11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89
Sum of primes: 1087
```
c++从键盘输入m和n,求m到n范围内个位数为3或7的素数,进行如下操作:①输出所有素数并求和②对所有满足条件,且十位数不为6的素数求和(用continue)
在C++中,你可以使用以下步骤来实现这个功能:
首先,我们需要编写一个函数来判断一个数是否为素数。然后,我们获取用户输入的m和n,遍历这个范围内的每个数,检查其个位数是否为3或7,并且如果是素数。对于素数,我们将其添加到总和中。如果某个数符合条件,但十位数是6,则跳过它(使用`continue`语句)。最后,我们会输出所有的素数及其总和以及符合条件但十位非6的素数的和。
```cpp
#include <iostream>
using namespace std;
// 判断是否为素数的辅助函数
bool isPrime(int num) {
if (num <= 1)
return false;
for (int i = 2; i * i <= num; ++i) {
if (num % i == 0)
return false;
}
return true;
}
int main() {
int m, n;
cout << "请输入起始值m:";
cin >> m;
cout << "请输入结束值n:";
cin >> n;
int sumAllPrimes = 0;
int sumSpecialPrimes = 0;
for (int i = m; i <= n; ++i) {
if (i % 10 == 3 || i % 10 == 7 && isPrime(i)) {
cout << i << " ";
sumAllPrimes += i;
// 如果十位不是6,累加sumSpecialPrimes
if (i / 10 != 6) {
sumSpecialPrimes += i;
}
} else if (i % 10 == 3 || i % 10 == 7) {
// 跳过十位为6的数
continue;
}
}
cout << endl;
cout << "所有素数的和为:" << sumAllPrimes << endl;
cout << "满足条件且十位非6的素数的和为:" << sumSpecialPrimes << endl;
return 0;
}
```
阅读全文