使用mpz_nexttime迭代素数 在C++中,我想打印第一个 n>代码>质数(对于这个例子,假设我们是代码> n=1000 < /COD>)。
为了做到这一点,我从GMP库中找到了 我想你是这样用的使用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
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);
库特