111111

20201319吴向林 / 2023-05-10 / 原文

 
#include <stdio.h>
#include <openssl/bn.h>

int main() {
    BIGNUM *num, *result;
    BN_CTX *ctx;

    num = BN_new();
    result = BN_new();
    ctx = BN_CTX_new();

    BN_one(result);

    for (int i = 2; i <= 1000; i++) {
        if (BN_is_prime(num, BN_prime_checks_for_size(i), NULL, ctx)) {
            BN_mul(result, result, num, ctx);
        }
    }

    char *result_str = BN_bn2dec(result);
    printf("The product of primes from 2 to 1000 is: %s\n", result_str);

    BN_free(num);
    BN_free(result);
    BN_CTX_free(ctx);
    OPENSSL_free(result_str);

    return 0;
}