Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用mpz_nexttime迭代素数 在C++中,我想打印第一个 n>代码>质数(对于这个例子,假设我们是代码> n=1000 < /COD>)。_C++_Gmp - Fatal编程技术网

使用mpz_nexttime迭代素数 在C++中,我想打印第一个 n>代码>质数(对于这个例子,假设我们是代码> n=1000 < /COD>)。

使用mpz_nexttime迭代素数 在C++中,我想打印第一个 n>代码>质数(对于这个例子,假设我们是代码> n=1000 < /COD>)。,c++,gmp,C++,Gmp,为了做到这一点,我从GMP库中找到了 我想你是这样用的 int n = 2; for(int i = 0; i < 1000; i++) { n = mpz_nextprime(n); cout << n << endl; } int n=2; 对于(int i=0;i

为了做到这一点,我从GMP库中找到了

我想你是这样用的

int n = 2;
for(int i = 0; i < 1000; i++) {
    n = mpz_nextprime(n);
    cout << n << endl;
}
int n=2;
对于(int i=0;i<1000;i++){
n=mpz_下一次时间(n);

cout使用
mpz\u t
而不是像
int
long
这样的普通整数类型的原因是,在某一点之后,质数太大,无法在
int
long
中表示

下面是打印到第1000个素数的代码片段:

#include <gmp.h>

int main() {
    mpz_t n;
    mpz_init(n);
    mpz_set_ui(n, 2);
    for (size_t i = 0; i < 1000; i++) { // first 1000 primes
        mpz_nextprime(n, n);
        cout << "The " << (i + 1) << "th " << " prime is " << mpz_get_ui(n) << endl;
    }
}
#包括
int main(){
mpz_t n;
mpz_init(n);
mpz_集(n,2);
对于(size_t i=0;i<1000;i++){//前1000个素数
mpz_nexttime(n,n);
库特