C++ GMP庫

簡介

大整數運算庫。
官網地址:https://gmplib.org/

使用

初始化

mpz_t a, b, c;  
mpz_init(a);  
mpz_init_set_str(b, "2000000000000000000000000000", 10);  
mpz_init_set_str(c, "3000000000000000000000000000", 10);  

輸出

gmp_printf("%Zd\n", b);

加法

mpz_add(a, b, c);

減法

mpz_sub(a, b, c);

乘法

mpz_mul(a, b, c);

除法

/*求商,向上取整*/
mpz_cdiv_q (a, b, c);
/*求餘數,由於求商是向上取整,所以餘數爲0或者負數*/
mpz_cdiv_r (a, b, c);

/*求商,向下取整*/
mpz_fdiv_q (a, b, c);
/*求餘數,由於求商是向下取整,所以餘數爲0或者正數*/
mpz_fdiv_r (a, b, c);

比較

/*b大於c,返回1;b等於c,返回0;b小於c,返回-1*/
mpz_cmp(b, c);

求平方根

/*結果向下取整*/
mpz_sqrt(a, b);

最大公約數

mpz_gcd(a, b, c);

判斷是否是一個質數的次冪

mpz_perfect_power_p(b);

冪運算

mpz_pow_ui(a, b, 10);
發佈了40 篇原創文章 · 獲贊 6 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章