编程c++数组找其中的素数
时间: 2024-10-22 09:22:22 浏览: 22
C++编程实例.pdf
在C++中,我们同样可以使用埃拉托斯特尼筛法来查找数组中的素数。这里是一个简化版的示例,假设我们有一个整数数组`arr`,首先需要编写函数来筛选出素数并存储在一个新数组或原数组的部分位置。下面是基本步骤:
```cpp
#include <iostream>
#include <vector>
bool isPrime(int num) {
if (num <= 1)
return false;
for (int i = 2; i * i <= num; ++i) {
if (num % i == 0)
return false;
}
return true;
}
std::vector<int> findPrimesInArray(const std::vector<int>& arr) {
std::vector<int> primes;
for (const auto& num : arr) {
if (isPrime(num))
primes.push_back(num);
}
return primes;
}
int main() {
std::vector<int> arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
std::vector<int> result = findPrimesInArray(arr);
// 输出素数
for (const auto& prime : result)
std::cout << prime << " ";
return 0;
}
```
在这个例子中,`isPrime()`函数检查一个给定的数字是否为素数,而`findPrimesInArray()`函数遍历整个数组并只保留素数。返回的结果是包含数组中所有素数的新向量。
阅读全文