将素数插入链接列表

时间:2015-03-24 14:00:23

标签: c++ visual-c++ c++-cli objective-c++

我无法编写一个完整的c ++程序,可以在链表对象中按顺序插入0到150的素数。该计划应该计算 - 元素的总和 - 元素的厌恶

1 个答案:

答案 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;
}