資源簡(jiǎn)介
分解120位整數(shù),解決較大的整數(shù)分解問(wèn)題,有橢圓曲線(xiàn)算法、特殊數(shù)域篩法、二次篩法等,而二次篩法是500bit及以下整數(shù)分解時(shí),已知的最快算法。
代碼片段和文件信息
//?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
//選擇的因子基個(gè)數(shù)
#define?baseFactorNum?8000
//被分解數(shù)
mpz_t?mpzResolveNum?;
//開(kāi)方后
mpz_t?mpzSqrtResolve?;
//待篩Qx集合
mpz_t?Qx[Q_xRangeMax]?;
mpz_t?*arrbaseFactor_Q;
//選中Qx的序號(hào)x
vector?vbaseFactor_x;
//結(jié)果Qx的序號(hào)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?*
評(píng)論
共有 條評(píng)論