资源简介
分解120位整数,解决较大的整数分解问题,有椭圆曲线算法、特殊数域筛法、二次筛法等,而二次筛法是500bit及以下整数分解时,已知的最快算法。
代码片段和文件信息
// QuadraticSieve2.cpp : Defines the entry point for the console application.
//
#include “stdafx.h“
#include
#include
#include
#include
using std::vector;
using namespace std;
#define Q_xRangeMax 50000
#define Q_xRangeMin 0
//选择的因子基个数
#define baseFactorNum 8000
//被分解数
mpz_t mpzResolveNum ;
//开方后
mpz_t mpzSqrtResolve ;
//待筛Qx集合
mpz_t Qx[Q_xRangeMax] ;
mpz_t *arrbaseFactor_Q;
//选中Qx的序号x
vector vbaseFactor_x;
//结果Qx的序号x
vector vResultFactor_x;
unsigned long int arrPrimeFactor[baseFactorNum];
//void combine(int **arrExponentMatrixint arrCol int a[] int n int m int b[] int M);
//bool judgeArrayAddResult(int **arrExponentMatrix int arrCol int arrRow vector &vTemp);
void structMatrix(int nLength int *
- 上一篇:GPS网平差C++版
- 下一篇:C++实现小学生运算系统
评论
共有 条评论