我有一个 vector
vector<int> vec;
它存储随机数 {5, 7, 8, 9, 13, 15, 17}
我有一个 vector ,如果前一个 vector 的数字是素数,则将其评估为 1 或 0
vector< int> vec_prime_number;
所以对于前一个它将是 {1, 1, 0, 0, 1, 0, 1}
我正在尝试使用计数函数来仅保存其中的素数。我在做这件事时遇到了一些问题。
理想情况下,我想让 vec 有 {5, 7, 13, 17}//也就是说,里面只有素数
我试过类似的东西
int cnt = count(vec.begin(), vec.end(), vec_prime_number())
但我无法让它正常工作。关于如何计数以仅存储质数的任何想法?
最佳答案
std::count
的文档说:
Returns the number of elements in the range [first,last) that compare equal to val.
所以你应该按照下面的方式使用一些东西来获得素数的数量:
int cnt = count(vec_prime_number.begin(), vec_prime_number.end(), 1);
作为you can see .
关于c++ - vector 计数函数 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19106925/