Project Euler 97
100万桁を超える初めての素数は1999年に発見された. これはメルセンヌ素数であり, 2^6972593-1 である. 実際, 2,098,960桁ある. それ以降も, より多くの桁になるメルセンヌ素数 (2^p-1の形の数) が他にも発見されている. しかし, 2004年に, 非常に大きな非メルセンヌ素数が発見された. これは2,357,207桁の数であり, 28433×2^7830457+1である. この素数の最後の10桁を答えよ.
C/C++
#pragma comment(lib,"mpir.lib") #include <mpir.h> #include <iostream> using namespace std; int main(){ mpz_t n; mpz_init_set_ui(n,1); mpz_ui_pow_ui(n,2,7830457); mpz_mul_ui(n, n, 28433); mpz_add_ui(n, n, 1); mpz_out_str(stdout, 10, n); cout << endl; }
めんどくさいので糞コード。
mpirすごいなーって思いましたw