请你使用lambda表达式实现对于素数的判别,并把它们加入到
时间: 2024-03-15 14:44:20 浏览: 20
下面是使用 lambda 表达式实现对于素数的判别,并将其加入到 vector 中的示例:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
int main()
{
std::vector<int> nums{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
std::vector<int> primes;
std::copy_if(nums.begin(), nums.end(), std::back_inserter(primes),
[](int n) {
if (n < 2)
return false;
for (int i = 2; i * i <= n; ++i)
{
if (n % i == 0)
return false;
}
return true;
});
for (auto i : primes)
{
std::cout << i << " ";
}
return 0;
}
```
在此示例中,我们使用 `std::copy_if` 算法将 vector `nums` 中的素数复制到 `primes` vector 中。我们将 lambda 表达式作为谓词参数传递给 `std::copy_if`,该表达式将对每个元素进行素数检查。如果元素是素数,则将其添加到输出序列中。注意,我们使用 `std::back_inserter` 输出迭代器来将元素插入到 `primes` vector 的末尾。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)