c++输入一个数n,求所有小于等于这个数的素数
时间: 2024-04-13 14:29:22 浏览: 90
您好!要求小于等于给定数n的所有素数,可以使用以下方法:
```cpp
#include <iostream>
#include <vector>
bool isPrime(int num) {
if (num < 2) {
return false;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
std::vector<int> findPrimes(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 << "请输入一个数n: ";
std::cin >> n;
std::vector<int> primes = findPrimes(n);
std::cout << "小于等于" << n << "的素数有:";
for (int prime : primes) {
std::cout << prime << " ";
}
std::cout << std::endl;
return 0;
}
```
这段代码定义了两个函数,`isPrime`函数用于判断一个数是否为素数,`findPrimes`函数用于找到小于等于给定数n的所有素数。在`main`函数中,先输入一个数n,然后调用`findPrimes`函数找到小于等于n的素数,并输出结果。
希望能帮到您!如果有任何问题,请随时提问。
阅读全文