以下是一個簡單的 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
函數生成素數,并輸出結果。