在链表中插入素数

Insert prime number into Linked List

本文关键字:插入 链表      更新时间:2023-10-16

我无法编写一个完整的c++程序,在链表对象中按顺序插入从0到150的素数。程序应该计算-元素的和-元素的平均值

我怀疑你的作业是使用std::列表来帮助你找到素数。对于从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;
}