資源簡介
分解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++實現小學生運算系統
評論
共有 條評論