使用c++代码设计一个函数,输入数字n后,输出n以内的所有素数
时间: 2024-09-18 08:00:48 浏览: 39
利用c++语言来输出1-100之间的所有素数.rar
在C++中,我们可以创建一个名为`generatePrimes`的函数,该函数接受一个整数`n`作为输入,并返回小于等于`n`的所有素数。这里是一个简单的实现:
```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;
}
// 函数用于生成并打印小于n的所有素数
std::vector<int> generatePrimes(int n) {
std::vector<int> primes;
for (int i = 2; i <= n; i++) {
if (isPrime(i))
primes.push_back(i);
}
return primes;
}
int main() {
int n;
std::cout << "请输入一个正整数:";
std::cin >> n;
// 调用函数获取素数并打印
std::vector<int> primeList = generatePrimes(n);
std::cout << "小于" << n << "的所有素数是:";
for (int prime : primeList) {
std::cout << prime << " ";
}
return 0;
}
```
这个程序首先定义了一个辅助函数`isPrime()`,判断给定的数字是否是素数。然后在`generatePrimes()`函数中遍历从2到n的所有整数,将素数添加到结果向量`primes`中。最后,在主函数中获取用户输入,打印出所有小于n的素数。
阅读全文