1204. 因式分解

1204. 因式分解

暂无测试数据。

题目描述

通过代数基本定理,
我们知道若计算重根,
一个 \(n\) 次的多项式在复数域内恰好有 \(n\) 个零点(函数值为 0 的点)。

现给定一个整系数多项式 \(F[x]\),
它的 \(n\) 个零点恰好都是有理数(即可以写成两个整数相除的形式);
同时,
若我们把它所有的非零零点(函数自变量不为0,函数值为0)去重,
则可以得到 \(r\) 个互不相同的非零零点,
其中第 \(i\) 个非零零点可以被表示成下式:

\(\displaystyle sng_i* \frac{q_i}{p_i}\)

式中 \(sgn_i\) 表示第 \(i\) 个零点的符号,
\(p_i\) 和 \(q_i\) 为互质的两个正整数。

现在告诉你 \(F[x]\),
要求你输出将它因式分解后的形式。

输入

只有一行,包含多项式 \(F[x]\)。

多项式一定是如下的形式:

\(a_n x^n + a_{n-1} x^{n-1} + \cdots + a_1 x + a_0\)

次数一定为从高到低,
其中 \(a_i\) 为整数,
并且若 \(a_i\) 为 0,
则省略该项,
若 \(a_i\) 为负数,
则省略之前的加号,
若 \(a_i\) 的绝对值为 1 且 \(i\) 不为0,
则不输出1,
并且保证 \(a_n\) 不为 0。
详见样例输入。

输出

输出一行,
表示因式分解后的形式,
格式如下:

\(a_n(x+u_1/v_1)^{t_1} (x+u_2/v_2)^{t_2} \cdots (x+u_s/v_s)^{t_s}\)
其中 \(u,v\) 互质,且 \(v\) 为正整数。

其中 \(u_i/v_i=0\) 从小到大排列,
若 \(u_i/v_i=0\) 则该项为 \(x^{t_i}\),
若 \(u_i/v_i\) 为负数,则省略加号,
若 \(v_i\) 为 1,则省略 \(/v_i\)。
若 \(t_i\) 为1,则省略 ^\(t_i\)。
若 \(a_n\) 为 \(\pm 1\), 则将 1 省略。

详见样例输出。

样例输入

8x^7-258x^5+2112x^3-512x

样例输出

8(x-4)^2(x-1/2)x(x+1/2)(x+4)^2

数据范围限制

说明

限制

每个测试点时限:6秒
内存限制:512MB

来源

CTSC2013

信息

ID
1203
难度
(无)
分类
(无)
标签
(无)
递交数
0
已通过
0
通过率
?
上传者