?? zzxfactest.cpp
字號:
#include <NTL/ZZXFactoring.h>
NTL_CLIENT
long compare(const ZZX& a, const ZZX& b)
{
if (deg(a) < deg(b))
return 0;
if (deg(a) > deg(b))
return 1;
long n = a.rep.length();
long i;
for (i = 0; i < n; i++) {
if (a.rep[i] < b.rep[i]) return 0;
if (a.rep[i] > b.rep[i]) return 1;
}
return 0;
}
void sort(vec_pair_ZZX_long& v)
{
long n = v.length();
long i, j;
for (i = 0; i < n-1; i++)
for (j = 0; j < n-1-i; j++)
if (compare(v[j].a, v[j+1].a)) {
swap(v[j].a, v[j+1].a);
swap(v[j].b, v[j+1].b);
}
}
int main(int argc, char **argv)
{
ZZX f1, f;
if (argc > 1)
ZZXFac_MaxPrune = atoi(argv[1]);
cin >> f;
vec_pair_ZZX_long factors;
ZZ c;
double t;
t = GetTime();
factor(c, factors, f, 0);
t = GetTime()-t;
cerr << "total time: " << t << "\n";
mul(f1, factors);
mul(f1, f1, c);
if (f != f1)
Error("FACTORIZATION INCORRECT!!!");
sort(factors);
cout << c << "\n";
cout << factors << "\n";
return 0;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -