zoukankan      html  css  js  c++  java
  • [Algorithm]巧用多项式系数与进制的联系

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
    ➤微信公众号:山青咏芝(shanqingyongzhi)
    ➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/
    ➤GitHub地址:https://github.com/strengthen/LeetCode
    ➤原文地址:https://www.cnblogs.com/strengthen/p/10994773.html
    ➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
    ➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

    单项式(monomial):由数或字母的积组成的代数式叫做单项式,单独的一个数或一个字母也叫做单项式。这个名词是清代数学家李善兰译书时根据原词概念汉化的。单项式中的数字因数叫做这个单项式的系数(Coefficient),一个单项式中,所有字母的指数的和叫做这个单项式的次数(Degree of a monomial)。单项式是几次,就叫做几次单项式。

    多项式(polynomial)定义:是指由变量、系数以及它们之间的加、减、乘、幂运算(非负整数次方)得到的表达式。

    广义多项式定义:1个或0个单项式的和也算多项式。按广义定义,多项式就是整式。实际上,还没有一个只对狭义多项式起作用,对单项式不起作用的定理。0作为多项式时,次数定义为负无穷大(或0)。单项式和多项式统称为整式。多项式中不含字母的项叫做常数项。多项式是简单的连续函数,它是平滑的,它的微分也必定是多项式。

    多项式函数:形如f(x)=an·x^n+an-1·x^(n-1)+…+a2·x^2+a1·x+a0的函数,叫做多项式函数,它是由常数与自变量x经过有限次乘法与加法运算得到的。当n=1时,其为一次函数y=kx+b,当n=2时,其为二次函数。

    问题:已知在一个黑箱中有一个关于x的多项式函数f(x),f(x)的系数都是正整数,输入一个正整数N,黑箱返回f(N)的值,请问最少输入多少次,可以获得多项式f(x)每一项的系数,即求出多项式函数f(x)?

    思路历程:

    进制的本质是以该进制为变量的多项式的系数。

    举例:十进制

    4321=4*10^3+3*10^2+2*10^1+1*10^0

    答案:只需要向黑箱输入两次,即可获得多项式系数。

    第一次:输入1,以确保对于任意系数

    黑箱返回f(1):即整个多项式的系数之和。记为S = f(1)。

    第二次:输入比S大的值S+N,其中N为正整数。将黑箱输出的值f(S+N)换成S+N进制,多项式系数即为(S+N)进制表示的数字。

    如:输入S + 1,将黑箱输出的值f(S+1)换成S+1进制。即:

    f(S+1)= 

    对应的系数即为f(x)的系数:

    测试:

    黑箱中的多项式函数:f(x) = 2*x^2+3*x^1+4*x^0

    f(1)=9

    f(9+1)=234

    直观的将234转换为10进制的234:234=2*10^2+3*10^1+4*10^0

    所以原多项式函数的系数依次为2、3、4.

    继续测试该多项式函数。

    f(1)=9

    f(9+2)=279

    用短除法将279转换为11进制的234:279=2*11^2+3*11^1+4*11^0

    所以原多项式函数的系数依次为2、3、4.

  • 相关阅读:
    js生成点阵字体
    随笔
    html5 textarea 的 placeholder 换行的几种方式
    有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二。问物几何?
    javascript 水仙花数
    避免url传值字符串sjstr过长,使用from表单【隐藏域】post提交
    图表转换
    highcharts 显示点值的效果
    导出报表
    JQuery ----文档处理
  • 原文地址:https://www.cnblogs.com/strengthen/p/10994773.html
Copyright © 2011-2022 走看看