题目描述
通过代数基本定理,我们知道若计算重根,一个 n 次的多项式在复数域内恰好有 n 个零点(函数值为 0 的点)。现给定一个整系数多项式 F[x],它的 n 个零点恰好都是有理数(即可以写成两个整数相除的形式);同时,若我们把它所有的非零零点(函数自变量不为 0,函数值为 0)去重,则可以得到 r 个互不相同的非零零点,其中第 i 个非零零点可以被表示成下式:
sgni×piqi
式中sgni表示第 i 个零点的符号,pi和qi为互质的两个正整数。
现在告诉你 F[x],要求你输出将他因式分解后的形式。
输入格式
输入只有一行,包含多项式 F[x]。
多项式一定是如下的形式:
anx^n+an−1x^n−1+⋯a1x+a0
次数一定为从高到低,其中ai为整数,并且若ai为 0,则省略该项,若ai为负数,则省略之前的加号,若ai的绝对值为 1 且 i 不为 0,则不输出 1,并且保证an不为 0.
详见样例输入。
输出格式
输出一行,表示因式分解后的形式,格式如下:
an(x+u1/v1)^t1(x+u2/v2)^t2…(x+us/vs)^ts
其中 u,v 互质,且 v 为正整数。
其中ui/vi从大到小排列,若ui/vi=0 则该项为 x^ti,若ui/vi为负数,则省略加号,若vi为 1,则省略/vi。
若ti为 1 则省略^ti。
若an为±1 则将 1 省略。
详见样例输出。
8x^7-258x^5+2112x^3-512x
8(x-4)^2(x-1/2)x(x+1/2)(x+4)^2
-x^2+2x-1
-(x-1)^2
提示
测试点编号 |
多项式最高次数 |
互异零点数 |
系数范围(绝对值) |
1 |
2 |
≤10 |
2 |
4 |
≤100 |
3 |
7 |
≤106 |
4 |
10 |
≤107 |
5 |
12 |
≤1016 |
6 |
35 |
5 |
≤1024 |
7 |
39 |
≤1068 |
8 |
46 |
4 |
≤10104 |
9 |
80 |
2 |
≤1012 |
10 |
50 |
1 |
≤10316 |
pi,qi满足:
i=1∏rpi≤106,i=1∏rqi≤106