zoukankan      html  css  js  c++  java
  • 无聊做做数学题系列3

    最近无聊去玩了一圈微信出的小程序“头脑王者”。结果遇到了这么一道数学题:

    已知 x + 1/x = 5 ,那么 x^4 + 1/x^4 = ?

    卧槽,只有10秒钟作答好么,这种题目怎么可能在10秒内做出来?除非背答案吧。

    不过这题目本身还是很有意思的,以下给出三种解法。

    解法一:暴力套求根公式方法求解

    x + 1/x = 5 =>

    x^2 - 5x + 1 = 0

    套一下求根公式,就能得到

    x = (5 ± √21)/ 2

    再把x的两个可能的值代入到x^4 + 1/x^4里面,就能得到答案了。

    不过嘛,这个计算过程中很容易出错,而且费劲,不推荐使用;

    解法二:利用中间结果求解

    x + 1/x = 5 =>

    (x + 1/x) ^ 2 = 25 =>

    x^2 + 2 + 1/x^2 = 25 =>

    x^2 + 1/x^2 = 23

    然后利用x^2 + 1/x^2 = 23这个中间结果,继续推导

    x^2 + 1/x^2 = 23 =>

    (x^2 + 1/x^2) ^ 2 = 529 =>

    x^4 + 2 + 1/x^4 = 529 =>

    x^4 + 1/x^4 = 527

    OK,步骤简介计算方便,基本上不太可能出错,可以说是本题的最优解法

    不过嘛,能10秒之内心算出来的大佬,我觉得非常值得佩服

    解法三:代换思想

    OK,我们接下来玩一点机灵,尽管整体解题时间未必就比直接套求根公式快多少:

    x^2 - 5x + 1 = 0 =>

    x^2 = 5x - 1 =>

    x^4 = (x^2)^2 = (5x-1)^2 = 25x^2 - 10x +1 = 25(5x-1) - 10x + 1 = 115x - 24

    上面三步的思想就是典型的变量代换,从而达到降低次幂的目的,最终就把x^4的计算简化为了ax+b的计算

    于是x^4 + 1/x^4 = (115x-24) + 1/(115x-24)了

    那么,已知x + 1/x = m的时候(此题中m=5),(ax+b)+ 1/(ax+b) 又等于多少呢?(此题中a=115,b=-24)

    似乎进入了另外一个问题||| - -

    OK,继续推导。

    x + 1/x = m => 

    x^2 - mx +1 = 0

    假设(ax+b) + 1/(ax+b) = n,那么有

    (ax+b)^2 -n(ax+b) + 1 = 0

    整理一下得到

    (a^2)x^2 + (2ab-an)x + (b^2-bn+1) = 0 此为式1

    再由x^2 - mx +1 = 0 =>

    (a^2)x^2 - (a^2)mx + a^2 = 0 此为式2

    由于式1和式2是对于x同时成立的,因此有:

    2ab - an = (a^2)m , 后面的常数项由于与n的计算无关就不列出来了

    于是2ab - an = -(a^2)m => (注意负号别漏掉了)

    an = 2ab + (a^2)m =>

    n = 2b + am

    OK,原来n可以如此简洁地就可以用a、b和m来表示了

    我们愉快地将m=5,a=115,b=-24代入,就能得到

    x^4 + 1/(x^4) = (115x-24) + 1/(115x-24) = 2*(-24) + 115*5 = 575 - 48 = 527

    OK,这简直可以算是另外一道题了

    顺便吐槽下博客园的公式编辑器,总得来说用起来不舒服,所以还是不用了

  • 相关阅读:
    vim 多文件操作
    二分查找
    单调栈
    常见TCP问题
    C++为啥引入nullptr?
    python处理表格按照表头为单位的划分并分割到单独的文件
    集合:List,Set,Map
    SpringBoot
    Spring框架
    JavaScript 类型、原型与继承学习笔记
  • 原文地址:https://www.cnblogs.com/xczyd/p/8351447.html
Copyright © 2011-2022 走看看