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;
}

 

posted @ 2022-05-05 15:03  爱吃土豆的洋芋  阅读(248)  评论(0编辑  收藏  举报