morefactest.c
来自「密码大家Shoup写的数论算法c语言实现」· C语言 代码 · 共 67 行
C
67 行
#include <NTL/ZZXFactoring.h>NTL_CLIENTlong 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 + -
显示快捷键?