• 解题报告 分解因式


    1.        题目

    分解因式

    factorize.pas/c/cpp

     

    【问题描述】

    众所周知,整系数范围内分解因式是一个非常难的问题。为了解决这个问题,人们想出了各种公式和方法,例如平方差公式、立方差公式、立方和公式、提取公因式、十字相乘法等等。现在“伟大”的只会空想的不切实际的伪数学爱好者小k同学希望能借助计算机解决这个问题。

    为了让自己的题目显得不那么丧心病狂一点,小k同学决定只要你解决一类特殊的因式分解问题,那就是分解在整系数范围内分解到不能继续分解为止。换句话说,最后的答案中每个因式不含更低次数的因式。

    不过小k后来意识到这个问题还是很丧心病狂,为了降低题目难度,小k给出一个提示:一个多项式是另一个多项式的因式当且仅当ab的一个约数。

     

    【输入格式】

    输入一行一个数n,待分解的多项式就是

     

    【输出格式】

    输出一行一个字符串,表示因式分解的结果。最后的输出中每个因式应该不含空格,系数为1-1时应省略1,系数为0的项应该省略,每个因式应该降幂排列,并且保证首项系数为正。除此以外,我们要求按如下顺序排列因式:优先输出次数低的因式,对于次数相同的因式,依次比较每个因式的系数,从高指数项到低指数项,且包括被省略即系数为0的项。系数首先比较绝对值,其次比较符号。绝对值小的系数字典序序小,绝对值相同时比较符号,负号字典序比正号小。字典序越小的因式应该排在越前面输出。

     

    【样例输入】

    factorize.in

    20

     

    【样例输出】

    factorize.out

    (x - 1) (x + 1) (x^2 + 1) (x^4 – x^3 + x^2 - x + 1) (x^4 + x^3 + x^2 + x + 1) (x^8 – x^6 + x^4 – x^2 + 1)

     

    【数据规模和约定】

    对于40%的数据,;2<=n<=50

    对于100%的数据,.2<=n<=1200

     

    2.        题目实质

    我们是不是该提醒一下出题人,我们是学 OI 的,不是学 MO 的。

    3.        算法

    x^n-1  =  (x-1)(x^(n-1)+x^(n-2)+x^(n-3)...+x+1)

    ------本公式转载自“考研论坛”

    首先,将给出的式子,先按照 2 次的拆分方法拆到不能拆,再按照 3 次的拆分方法拆到不能拆,然后再套上面那个公式。

    4.        注意事项

    能分出 2 次, 3 次的,要先分出来。

  • 相关阅读:
    PostgreSQL备份工具-pg_probackup
    Multi-Master Replication Solutions for PostgreSQL
    PostgreSQL高可用:多主复制解决方案
    Postgressql高可用(pgpool+异步流复制)转
    AudioFlinger
    GPIO口配置为上拉,下拉输入
    转【Qualcomm高通音频】音效调试_录音文件播放有杂音,如何定位原因?
    转【Qualcomm高通音频】如何使用QXDM、QCAT、CoolEditor音频日志抓取、解析和分析?
    转【Qualcomm高通音频】调试工具QACT_如何新增一套音效
    转【Qualcomm高通音频】调试工具QACT_如何更换音效的音频拓扑
  • 原文地址:https://www.cnblogs.com/SueMiller/p/2213019.html
Copyright © 2020-2023  润新知