以下是一个简单的 C++ 素数生成器的设计:
#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;
int num = 2;
while (primes.size() < n) {
if (isPrime(num)) {
primes.push_back(num);
}
num++;
}
return primes;
}
int main() {
int n;
std::cout << "请输入要生成素数的个数:";
std::cin >> n;
std::vector<int> primes = generatePrimes(n);
std::cout << "前 " << n << " 个素数为:";
for (int prime : primes) {
std::cout << prime << " ";
}
std::cout << std::endl;
return 0;
}
在这个设计中,首先定义了一个函数 isPrime
用来判断一个数是否为素数。然后定义了一个函数 generatePrimes
用来生成前 n 个素数,并将它们存储在一个向量中。最后在 main
函数中读取用户输入的 n,调用 generatePrimes
函数生成素数,并输出结果。