首页 > 解决方案 > 这是在 C++ 中检查数字是否为素数的最佳方法吗

问题描述

正在尝试进行 RSA 加密,所以我试图获取 p 和 q。所以我需要检查它们是否是素数。这是怎么做的,有没有更快更有效的方法来处理更大的数字?谢谢!

bool checkIsPrime(int x) {
    bool isPrime;
    int i;
    // 0 and 1 are not prime numbers
    if (x == 0 || x == 1) {
        isPrime = false;
    }
    else {
        for (i = 2; i <= x / 2; ++i) {
            if (x % i == 0) {
                isPrime = false;
                break;
            }
        }
    }
    if (isPrime) {
        cout << x << " is a prime number";
    }
    else {
        cout << x << " is not a prime number";
    }
}

标签: c++

解决方案


推荐阅读