温馨提示×

C++素数生成器的设计

c++
小樊
82
2024-08-23 15:31:29
栏目: 编程语言

以下是一个简单的 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 函数生成素数,并输出结果。

0