我无法编写一个完整的c ++程序,可以在链表对象中按顺序插入0到150的素数。该计划应该计算 - 元素的总和 - 元素的厌恶
答案 0 :(得分:0)
我怀疑你的作业是使用std :: list来帮助你找到素数。对于从2到150的每个数字除以你到目前为止找到的所有素数,如果没有素数除以你的数字而没有余数,那么你刚刚找到另一个素数,将它添加到你的列表并继续。这是代码,
#include <iostream>
#include <map>
#include <string>
#include <list>
int main(int argc, const char * argv[]) {
std::list<int> primes;
primes.push_back(2); // start with first prime
bool isPrime{false};
for (int i=3; i<=150;++i) {
isPrime=true;
for (int n : primes) {
if (i % n == 0)
isPrime = false;
}
if (isPrime) primes.push_back(i);
}
int sum{0}, prod{1};
for (int n : primes){
sum += n;
prod *= n;
}
std::cout << std::endl;
std::cout << "The sum of primes is: " << sum << std::endl;
std::cout << "The product of primes is: " << prod << std::endl;
}