任务详情
- 在openEuler(推荐)或Ubuntu或Windows(不推荐)中完成下面任务
- 用自己8位学号建两个文件夹xxxxxxxxsrc,xxxxxxxx,到GMP官网https://gmplib.org/下载最新代码到201x1xxxsrc,编译代码并把GMP库安装到201x1xxx文件夹。(5')
- 基于GMP的大数库编写测试代码测试大数运算,计算2的N次方,N为你学号的后四位(5‘)
- 基于GMP的大数库计算你以及前面5位同学和后面5位同学的8位学号的乘积,N为你学号的后四位(5‘)
- 提交代码(或代码链接)和运行结果截图
任务过程
安装结果
代码1:
#include<stdio.h>
#include<gmp.h>
int main(){
mpz_t z_a,z_o;
mpz_init(z_a);
mpz_init(z_o);
gmp_scanf("%Zd%Zd",z_a,z_o);
int i;
for(i=0;i<1223;i++)
{
mpz_mul(z_o,z_o,z_a);
}
gmp_printf("%Zd\n",z_o);
return 0;
}
运行结果:
代码2:
#include <gmpxx.h>
using namespace std;
int main()
{
mpz_t a, b, c;
mpz_init(a);
mpz_init(b);
mpz_init(c);
mpz_init_set_str(a, "2019121820191219201912202019122120191222", 10);
mpz_init_set_str(b, "2019122420191225201912262019122720191228", 10);//10进>制
mpz_mul(c, a, b);
gmp_printf("c = %Zd\n", c);
mpz_clear(a);
mpz_clear(b);
mpz_clear(c);
return 0;
}
运行结果: