logo AlgoBeat OnlineJudge
登录 注册

#103151. [BZOJ 3151] [Ctsc2013]因式分解

内存限制:512 MiB 时间限制:60000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: 匿名

题目描述

通过代数基本定理,我们知道若计算重根,一个 次的多项式在复数域内恰好有 个零点(函数值为 的点)。现给定一个整系数多项式 ,它的 个零点恰好都是有理数(即可以写成两个整数相除的形式);同时,若我们把它所有的非零零点(函数自变量不为 ,函数值为 )去重,则可以得到 个互不相同的非零零点,其中第 个非零零点可以被表示成下式:

式中 表示第 个零点的符号, 为互质的两个正整数。

现在告诉你 ,要求你输出将他因式分解后的形式。

输入格式

输入只有一行,包含多项式

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

次数一定为从高到低,其中 为整数,并且若 ,则省略该项,若 为负数,则省略之前的加号,若 的绝对值为 不为 ,则不输出 ,并且保证 不为

详见样例输入。

输出格式

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

其中 互质,且 为正整数。

其中 从大到小排列,若 则该项为 ,若 为负数,则省略加号,若 ,则省略

则省略

则将 省略。

详见样例输出。

样例输入 #1

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

样例输出 #1

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

样例输入 #2

-x^2+2x-1

样例输出 #2

-(x-1)^2

数据范围与提示

测试点编号 多项式最高次数 互异零点数 系数范围(绝对值)

满足: