zoukankan      html  css  js  c++  java
  • 解题报告 分解因式

    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 次的,要先分出来。

  • 相关阅读:
    【BZOJ3028】食物(生成函数基础题)
    【BZOJ2438】[中山市选2011] 杀人游戏(Tarjan)
    【BZOJ4833】[Lydsy1704月赛] 最小公倍佩尔数(神仙数学题)
    【BZOJ2109】【BZOJ2535】[NOI2010] 航空管制(拓扑反向建图)
    【BZOJ2679】[USACO2012 Open] Balanced Cow Subsets(Meet in Middle)
    【BZOJ3091】城市旅行(再次重拾LCT)
    sass与compass实战
    【Sass初级】开始使用Sass和Compass
    nodejs、sass、backbone等api地址
    解读2015之前端篇:工业时代 野蛮发展(转)
  • 原文地址:https://www.cnblogs.com/SueMiller/p/2213019.html
Copyright © 2011-2022 走看看