gpt4 book ai didi

c++ - vector push_back 似乎在推送不正确的值

转载 作者:行者123 更新时间:2023-11-28 05:07:50 26 4
gpt4 key购买 nike

<分区>

如果这个问题很幼稚,我深表歉意,但我似乎在使用 vector push_back 时遇到了一些问题。根据 Stroustrup 的书,我正在尝试编写代码来确定素数 [1,100]。到目前为止我所写的一切似乎都有效,它正确地确定了哪些是素数,但是当试图将素数插入 vector 时,它似乎没有插入所有值,或者这样做不正确

#include <iostream>     // std::cout
#include <vector> // std::vector
using namespace std;

int prime(int num) {
for (int j = num-1; j >= 2; --j) {
if (num%j != 0) {}
else if (num%j == 0) return 1;
}

return 0;
}

int main() {
vector<int> found_primes;
int eval {0};
for (int i = 1; i <= 100; ++i) {
eval = prime(i);
if (eval > 0) {}
else if (eval == 0) found_primes.push_back(i); // I think the problem is here
}

for (int j : found_primes) {
cout << found_primes[j] << '\t';
}
}

这提供了输出:“2 3 5 11 17 31 41 59 67 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0”

我到底错过了什么?提前致谢。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com