C++ 找出 n 以内的所有素数 - 代码示例与解析
当然,我可以帮助你编写一个 C++ 程序来实现输入一个整数 n,并输出 n 以内的所有素数。
#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> 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 << "Enter a number: ";
std::cin >> n;
std::vector<int> primeNumbers = findPrimes(n);
std::cout << "Prime numbers up to ' << n << "' are: ";
for (int prime : primeNumbers) {
std::cout << prime << " ";
}
std::cout << std::endl;
return 0;
}
这个程序定义了两个函数:
isPrime:用于检查一个数是否为素数。findPrimes:用于找到 n 以内的所有素数。
在 main 函数中,我们首先输入一个整数 n,然后调用 findPrimes 函数来找到 n 以内的素数,并将结果输出到屏幕上。
这是一个基本的实现,你可以根据自己的需要进行修改和扩展。请注意,在输入较大的 n 时,程序的运行时间会相应增长。
原文地址: https://www.cveoy.top/t/topic/Dyv 著作权归作者所有。请勿转载和采集!