morefactest.cpp
来自「NTL is a high-performance, portable C++ 」· C++ 代码 · 共 67 行
CPP
67 行
#include <NTL/ZZXFactoring.h>
NTL_CLIENT
long NumFacs(const vec_pair_ZZX_long& v)
{
long i;
long res;
res = 0;
for (i = 0; i < v.length(); i++)
res += v[i].b;
return res;
}
int main()
{
long cnt = 0;
while (SkipWhiteSpace(cin)) {
cnt++;
cerr << ".";
vec_ZZ w;
ZZX f1, f;
long nfacs;
cin >> w;
cin >> nfacs;
long i, n;
n = w.length();
f.rep.SetLength(n);
for (i = 0; i < n; i++)
f.rep[i] = w[n-1-i];
f.normalize();
vec_pair_ZZX_long factors;
ZZ c;
factor(c, factors, f, 0);
mul(f1, factors);
mul(f1, f1, c);
if (f != f1) {
cerr << f << "\n";
cerr << c << " " << factors << "\n";
Error("FACTORIZATION INCORRECT (1) !!!");
}
long nfacs1 = NumFacs(factors);
if (nfacs1 != nfacs)
Error("FACTORIZATION INCORRECT (2) !!!");
}
cerr << "\n";
cerr << "MoreFacTest OK\n";
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?