GMP
1.安装gmp
2. 基于GMP的大数库编写测试代码测试大数运算,计算2的N次方,N为你学号的后四位(5‘)
#include "stdio.h" //hello world 工程默认的,如果你建立的是空工程就不需要这句 #include "gmp.h"//记得引入GMP.H的头文件 int main(int argc, char* argv[]) { mpz_t t; //mpz_t 为GMP内置大数类型 mpz_init(t); //大数t使用前要进行初始化,以便动态分配空间 mpz_ui_pow_ui(t, 2, 1232); //GMP所有函数基本都是以mpz打头 gmp_printf("2^1232=%Zd\n", t); //输出大数,大数的格式化标志为%Zd mpz_clear(t); return 0; }
3. 基于GMP的大数库计算你以及前面5位同学和后面5位同学的8位学号的乘积,N为你学号的后四位(5‘)
#include<stdio.h> #include<string.h> #include<gmp.h> int main(){ mpz_t i,s,o; mpz_init_set_str(i,"1",10); mpz_init_set_str(s,"20191232",10); mpz_init_set_str(o,"1",10); int p; for(p=0;p<10;p++){ mpz_mul(i,i,s); mpz_add(s,s,o); } gmp_printf("%Zd\n",i); mpz_clear(i); mpz_clear(s); mpz_clear(o); return 0; }