首页 > 其他分享 > 大数库GMP测试

大数库GMP测试

时间:2023-05-10 09:13:07浏览次数:35  
标签:product 大数 d% init 测试 GMP mpz

  1. 在openEuler(推荐)或Ubuntu或Windows(不推荐)中完成下面任务
  2. 用自己8位学号建两个文件夹xxxxxxxxsrc,xxxxxxxx,到GMP官网https://gmplib.org/下载最新代码到201x1xxxsrc,编译代码并把GMP库安装到201x1xxx文件夹。(5')
  3. 基于GMP的大数库编写测试代码测试大数运算,计算10000内的素数的乘积(5‘)
  4. 基于GMP的大数库计算你以及前面5位同学和后面5位同学的8位学号(数字)的乘积(5‘)

1. 用自己8位学号建两个文件夹xxxxxxxxsrc,xxxxxxxx,到GMP官网https://gmplib.org/下载最新代码到201x1xxxsrc,编译代码并把GMP库安装到201x1xxx文件夹。(5')

之前已经下载好gmp

2. 基于GMP的大数库编写测试代码测试大数运算,计算10000内的素数的乘积(5‘)
代码:

include <stdio.h>

include <stdlib.h>

include <gmp.h>

int main() {
mpz_t product, num;
mpz_init(product);
mpz_init(num);
int i, j, prime;
mpz_set_ui(product, 1); // 初始化 product 为 1
for (i = 2; i <= 10000; i++) {
prime = 1;
for (j = 2; j < i; j++) {
if (i % j == 0) {
prime = 0;
break;
}
}
if (prime) {
mpz_set_ui(num, i);
mpz_mul(product, product, num);
}
}
gmp_printf("The product of primes under 10000 is %Zd\n", product);
mpz_clear(product);
mpz_clear(num);
return 0;
}


python测试:

3. 基于GMP的大数库计算你以及前面5位同学和后面5位同学的8位学号(数字)的乘积(5‘)

代码:

include<gmp.h>

define N 20201329

int main()
{
mpz_t a[11], b;
mpz_init(b);
mpz_init_set_str(b, "1", 10);

const char s[11][9]={"20201324","20201325","20201326","20201327","20201328","20201329", "20201330", "20201331", "20201332", "20201201","20201202"};
int i;
for(i=0;i<11;i++)
{
mpz_init(a[i]);
mpz_init_set_str(a[i],s[i], 10);
mpz_mul(b, b, a[i]);
}

gmp_printf("%d%d%d%d%d%d%d%d%d%d%d = \n%Zd\n", N-5, N-4, N-3, N-2, N-1, N, N+1, N+2, N+3, N+4, N+5, b);
for(i=0;i<11;i++){
mpz_clear(a[i]);
}

mpz_clear(b);
return 0;

}

标签:product,大数,d%,init,测试,GMP,mpz
From: https://www.cnblogs.com/weihehahaha/p/17386948.html

相关文章

  • OpenSSL测试-大数
    OpenSSL测试-大数20201331黄文刚0.在openEuler(推荐)或Ubuntu或Windows(不推荐)中完成下面任务基于OpenSSL的大数库计算1000内的素数的乘积(5‘)基于OpenSSL的大数库计算你以及后面15位同学的8位学号(数字)的乘积(5‘)用Python或bc命令验证计算的正确性(5’)提交代码(或代码链接)......
  • 入门1-pytest测试框架功能及常用第三方插件介绍
    安装1. 安装Python2. 安装pytest: pipinstall-Upytest3. 安装常用插件pipinstall-rrequirement.txtPS: 常用插件:pytestallure-pytestrequestsPyYAMLpandasopenpyxljsonpathrequests_toolbeltPrettyTablepytest-htmlpytest-xdist https://docs.py......
  • 入门8-Pytest部分测试用例的前后置(fixture)(2-conftest.py结合)
    conftest.py文件专门用来存放fixture的文件,名称固定不能修改。conftest.py中的所有方法在调用时都不需要导包一个用例可以同时调用多个conftest.py中的多个方法一般conftest.py中的方法autouse=True, 自动执行。conftest.py放在最外层,使用scope="session"时,整个项目开头执......
  • 编程打卡:面向对象程序设计测试
    面向对象程序设计测试#include<iostream>#include<iomanip>usingnamespacestd;classPoint{protected:doublex,y;public:Point(doublea=0,doubleb=0):x(a),y(b){cout<<"Pointconstructorcalled\n";......
  • 【数据库测试】【shell脚本】查询同一个SQL执行多次,并统计每次耗时
    场景说明在数据库查询中会常见coldrun与hotrun,hotrun是指将同一个SQL连续运行多遍。运行脚本创建一个run.sh直接复制如下脚本-注意修改数据库的连接IP与密码等-queries2.sql存放查询的SQL,请将queries2.sql文件与run.sh放在同一个目录下,若不在同一个目录,注意改SQL的文件......
  • 带你完成数据库的clickbench性能测试(小白都能看懂)
    clickbench官网链接:https://benchmark.clickhouse.com/如下采用的数据库为分析型数据库支持MySQL协议,其他所有的数据库操作方法均类似测试背景利用clickhouse的clickbench测试数据与查询SQL对AtomData进行了性能测试,所有的测试方法均与其他clickbench上的其他产品一致。预期......
  • win11虚拟机安装测试
    1.环境本地环境:VmwareEsxi6.5其他适用环境:Vmware,kvm2.安装遇到报错:此电脑不符合最低安装要求  解决方法:shift+f10唤起cmdcmd界面输入regedit打开注册表编辑器 在HKEY_LOCAL_MACHINE\SYSTEM\Setup右击新建一个项,命名为LabConfig,在该项右击新建三个DWORD(32位)......
  • VOC标签格式转yolo格式并划分训练集和测试集
    VOC标签格式转yolo格式并划分训练集和测试集经常从网上获取一些目标检测的数据集资源标签的格式都是VOC(xml格式)的,而yolov5训练所需要的文件格式是yolo(txt格式)的,就需要对xml格式的标签文件转换为txt文件。同时训练自己的yolov5检测模型的时候,数据集需要划分为训练集和验证集。......
  • 软件测试面试-编程(电子书)
    C++是面向过程也面向对象的语言,具有预处理器、预处理器指令和宏、模板、对象、封装、继承、多态的特性。1、C++程序的内存通常如何分配?解答:全局数据区:通常存储全局变量、静态数据和常量代码区:所有类成员函数和非成员函数代码栈区:执行函数时分配的局部变量、函数参数、返回......
  • 大数定律和中心极限定理
    《中心极限定理》由前面我们可以知道:正态分布完全可由它的数学期望和方差所确定 对于随机变量X1,X2.....Xn,他们相互独立,服从同一分布且具有数学期望(均值)E(Xi)=u,方差D(Xi)= σ^2那么∑Xi~N(nu,n σ^2)即Z=(∑Xi-nu)/(√n* σ) ~ N......