编程介的小学生 2019-08-28 21:49 采纳率: 20.5%
浏览 145

Polynomial 一个算法问题

Description

In the present problem, we always assume that all the polynomials mentioned have the following properties (take f(x) for example ):
(1) 0 < deg(f) <= 20, so we can assume that f(x) has the following form:
f(x)=anxn+an-1xn-1+...+a1x+a0 (an!=0 and 1<=n<=20)

(2) ai ( i=0,1,...,n ) is integer, and ?2^31<=ai<=2^31-1;
(3) an = 1.

We call a polynomial G(x) "good" polynomial, when there is no polynomial F(x) such that
F2|G

Given a polynomial f(x), it is known that f(x) can be factorized as follow:
f(x)=GtmtGt-1mt-1...G1m1 (Gi is good and mt>mt-1>...>m1>=1)
It抯 easy to prove that this way of factorizing is unique. You job is to factorize the given polynomials in this way.

To make input and output easy, a polynomial f(x)
f(x)=anxn+an-1xn-1+...+a1x+a0 (an!=0 and 1<=n<=20)

is represented as
n an an-1 ... a1 a0

In this representation, we use (n+2) integers, which are separated by single blanks.
Input

The first line of the input contains a single integer T (1 <= T <= 20), the number of test cases. Then T cases follow. Every case gives a polynomial in a single line.
Output

For each test case, output the corresponding result in the following form (where the meaning of those characters is taken as just mentioned):
t
mt Gt
mt-1 Gt-1
...
m1 G1
Sample Input

2
5 1 -3 4 -4 3 -1
2 1 -1 -2
Sample Output

2
3 1 1 -1
1 2 1 0 1
1
1 2 1 -1 -2

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 素材场景中光线烘焙后灯光失效
    • ¥15 请教一下各位,为什么我这个没有实现模拟点击
    • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
    • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
    • ¥20 有关区间dp的问题求解
    • ¥15 多电路系统共用电源的串扰问题
    • ¥15 slam rangenet++配置
    • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
    • ¥15 ubuntu子系统密码忘记
    • ¥15 保护模式-系统加载-段寄存器