精华内容
下载资源
问答
  • 多项式求值
    千次阅读
    2019-03-06 20:50:39

    6-2 多项式求值 (15 分)

    本题要求实现一个函数,计算阶数为n,系数为a[0] ... a[n]的多项式f(x)=∑​i=0​n​​(a[i]×x​i​​) 在x点的值。

    函数接口定义:

    double f( int n, double a[], double x );
    

    其中n是多项式的阶数,a[]中存储系数,x是给定点。函数须返回多项式f(x)的值。

    裁判测试程序样例:

    #include <stdio.h>
    
    #define MAXN 10
    
    double f( int n, double a[], double x );
    
    int main()
    {
        int n, i;
        double a[MAXN], x;
    	
        scanf("%d %lf", &n, &x);
        for ( i=0; i<=n; i++ )
            scanf(“%lf”, &a[i]);
        printf("%.1f\n", f(n, a, x));
        return 0;
    }
    
    /* 你的代码将被嵌在这里 */
    

    输入样例:

    2 1.1
    1 2.5 -38.7
    

    输出样例:

    -43.1

    程序:

    #include <stdio.h>
    
    #define MAXN 10
    
    double f( int n, double a[], double x );
    
    int main()
    {
        int n, i;
        double a[MAXN], x;
    	
        scanf("%d %lf", &n, &x);
        for ( i=0; i<=n; i++ )
            scanf(“%lf”, &a[i]);
        printf("%.1f\n", f(n, a, x));
        return 0;
    }
    double f( int n, double a[], double x )
     {
        int i;    
        double b=1.0;    
        double sum=a[0];  
        for(i=1;i<=n;i++)    
        {     
             b=b*x;    
             sum=sum+b*a[i];     
        }    
        return sum;    
     }

     

    更多相关内容
  • POLY_ND(order,x,y,z,...) 返回 N 个变量的多项式项。 输入可以是数字、字符或符号的列向量。 这些术语按升序排列。即 x 然后 x,y 然后 x,y,z。 例 1 符号 x,y,z,t poly_nd(4,x,y) 答案 = [ 1, x, x^2, x^3, x^4, y,...
  • Java 解决一维多项式求值问题
  • 简单多项式求值,支持相减和相加,读取文档类的代码 输入并按照指数降序建立多项式。输出多项式 两个多项式相加和相减,并将结果输出,这个还没完善
  • PTA6-2 多项式求值 (15 分) 本题要求实现一个函数,计算阶数为n,系数为a[0] ... a[n]的多项式f(x)=∑ ​i=0 ​n ​​(a[i]×x ​i ​​) 在x点的
  • 多项式求值2

    2021-02-06 12:50:19
    计算以下多项式: 输入要求 输入浮点数x。 输出要求 计算并输出多项式的结果,保留1位小数。 输入样例 1 输出样例 10.0 参考程序 #include<stdio.h> #include<math.h> int ...

    题目描述

    计算以下多项式的值:

    输入要求

    输入浮点数x。
    

    输出要求

    计算并输出多项式的结果,保留1位小数。
    

    输入样例

    1
    

    输出样例

    10.0

    参考程序

    #include<stdio.h>
    #include<math.h>
    
    int main()
    {
        double x,y;
    
        scanf("%lf",&x);
        y=3*pow(x,4)-2*pow(x,3)-pow(x,2)+10;
        printf("%.1lf\n",y);
    
        return 0;
    }
    

     

    展开全文
  • 多项式求值

    千次阅读 2019-07-10 18:06:26
    本题要求实现一个函数,计算阶数为n,系数为a[0]...a[n]的多项式f(x)= 在x点的。 函数接口定义: double f( int n, double a[], double x ); 其中n是多项式的阶数,a[]中存储系数,x是给定点。函数须返回...

    本题要求实现一个函数,计算阶数为n,系数为a[0] ... a[n]的多项式f(x)= \sum_{i=0}^{n}(a[i]*x^{^{i}})x点的值。

    函数接口定义:

    double f( int n, double a[], double x );
    

    其中n是多项式的阶数,a[]中存储系数,x是给定点。函数须返回多项式f(x)的值。

    裁判测试程序样例:

    #include <stdio.h>
    
    #define MAXN 10
    
    double f( int n, double a[], double x );
    
    int main()
    {
        int n, i;
        double a[MAXN], x;
    	
        scanf("%d %lf", &n, &x);
        for ( i=0; i<=n; i++ )
            scanf(“%lf”, &a[i]);
        printf("%.1f\n", f(n, a, x));
        return 0;
    }
    
    /* 你的代码将被嵌在这里 */
    

    输入样例:

    2 1.1
    1 2.5 -38.7
    

    输出样例:

    -43.1

     

    double f( int n, double a[], double x )
    {
    	double ans=0;
    	for(int i=n;i>0;i--)
    	{
    		ans=(ans+a[i])*x;
    	}
    	return ans+a[0];
    }
    

     

    展开全文
  • 多项式求值秦九韶算法

    千次阅读 2021-01-05 22:20:00
    1.多项式求值的秦九韶算法 设给定nnn次多项式p(x)=a0xn+a1xn−1+⋯+an−1x+an,a0≠0,p(x)=a_0x^n+a_1x^{n-1}+\cdots+a_{n-1}x+a_n,\quad a_0\neq 0,p(x)=a0​xn+a1​xn−1+⋯+an−1​x+an​,a0​​=0, x∗处的...

    1.多项式求值的秦九韶算法

    设给定 n n n次多项式 p ( x ) = a 0 x n + a 1 x n − 1 + ⋯ + a n − 1 x + a n , a 0 ≠ 0 , p(x)=a_0x^n+a_1x^{n-1}+\cdots+a_{n-1}x+a_n,\quad a_0\neq 0, p(x)=a0xn+a1xn1++an1x+an,a0=0,
    x ∗ 处 的 值 p ( x ∗ ) . 若 直 接 计 算 每 一 项 a i x n − i 再 相 加 , 共 需 要 x^*处的值p(x^*).若直接计算每一项a_ix^{n-i}再相加,共需要 xp(x).aixni,
    ∑ i = 0 n ( n − i ) = 1 + 2 + ⋯ + n = n ( n + 1 ) 2 = O ( n 2 ) \sum_{i = 0}^{n}(n-i)=1+2+\cdots+n=\frac{n(n+1)}{2}=O(n^2) i=0n(ni)=1+2++n=2n(n+1)=O(n2)次乘法, n n n次加法.若采用
    p ( x ) = ( ⋯ ( a 0 x + a 1 ) x + ⋯ + a n − 1 ) x + a n , p(x)=(\cdots(a_0x+a_1)x+\cdots+a_{n-1})x+a_n, p(x)=((a0x+a1)x++an1)x+an,它可表示为
    { b 0 = a 0 , b i = b i − 1 x ∗ + a i , i = 1 , 2 , … , n , \begin{cases} b_0=a_0,\\ b_i=b_{i-1}x^*+a_i,i=1,2,\ldots,n, \end{cases} {b0=a0,bi=bi1x+ai,i=1,2,,n,
    b n = p ( x ∗ ) 即 为 所 求 . b_n=p(x^*)即为所求. bn=p(x).此算法称为秦九韶算法,用它计算 n 次 多 项 式 p ( x ) n次多项式p(x) np(x)的值只用 n 次 乘 法 和 n 次 加 法 n次乘法和n次加法 nn
    乘 法 次 数 由 O ( n 2 ) 降 为 O ( n ) , 且 只 用 n + 2 个 存 储 单 元 , 国 外 称 此 算 法 为 H o r n e r 算 法 乘法次数由O(n^2)降为O(n),且只用n+2个存储单元,国外称此算法为Horner算法 O(n2)O(n),n+2Horner

    2.Python实现秦九韶算法

    import numpy as np
    from sympy.abc import x
    
    
    def polynomial(coefficient_array: np.ndarray, is_ascending_order: bool = False):
        """
        构造指定系数的多项式
        :param coefficient_array: 多项式系数数组
        :param is_ascending_order: 多项式排列顺序
        :return: 多项式
        """
        degree = coefficient_array.shape[0]
        if is_ascending_order:
            coefficient_array = coefficient_array[::-1]
        # default,descending order arrangement
        p_x = coefficient_array[-1]
        for i in range(degree - 1, 0, -1):
            p_x += coefficient_array[degree - i - 1] * pow(x, i)
        return p_x
    
    
    def qin_jiu_shao(coefficient_array: np.ndarray, value, is_ascending_order: bool = False):
        """
        多项式求值的秦九韶算法,即Horner算法
        :param coefficient_array: 多项式系数数组
        :param value: 自变量的值
        :param is_ascending_order: 多项式排列顺序
        :return: the value of polynomial
        example:
        2*x**4 - 3*x**2 + 3*x - 4=((((2x+0)x-3)x+3)x-4)
        3*x**5 - 2*x**3 + x + 7=(((((3x+0)x-2)x+0)x+1)x+7)
        """
        if is_ascending_order:
            coefficient_array = coefficient_array[::-1]
        degree = coefficient_array.shape[0]
        b = coefficient_array[0]
        for i in range(1, degree):
            b = b * value + coefficient_array[i]
        return b
    

    3.多项式求值测试

    if __name__ == '__main__':
        # 测试成功,来源详见李庆扬数值分析第5版P14,e.g.11
        # 降幂排列
        coefficient0 = np.array([2, 0, -3, 3, -4])
        print(polynomial(coefficient0))
        print(qin_jiu_shao(coefficient0, -2))
        # 升幂排列
        coefficient1 = np.array([-4, 3, -3, 0, 2])
        print(polynomial(coefficient1, is_ascending_order=True))
        print(qin_jiu_shao(coefficient1, -2, is_ascending_order=True))
        # 测试成功,来源详见李庆扬数值分析第5版P20,e.x.14
        # 降幂排列
        coefficient2 = np.array([3, 0, -2, 0, 1, 7])
        print(polynomial(coefficient2))
        print(qin_jiu_shao(coefficient2, 3))
        # 升幂排列
        coefficient3 = np.array([7, 1, 0, -2, 0, 3])
        print(polynomial(coefficient3, is_ascending_order=True))
        print(qin_jiu_shao(coefficient3, 3, is_ascending_order=True))
    

    4.求值运行结果

    在这里插入图片描述

    展开全文
  • 本题要求实现一个函数,计算阶数为n,系数为a[0]...a[n]的多项式f(x)=∑i=0n​(a[i]×xi)在x点的。 函数接口定义: double f( int n, double a[], double x ); 其中n是多项式的阶数,a[]中存储系数,x是给...
  • 1297: 简单多项式求值(C语言)

    千次阅读 2021-01-03 12:29:57
    对用户输入的任一整数,输出以下多项式。 y=2x2+x+8 输入 输入整数x的。 输出 输出一个整数,即多项式。 样例输入 1 样例输出 11 #include <stdio.h> #include <stdlib.h> #include <...
  • 公茂果老师的课件中,给出了四种多项式求值的算法,下面给出代码示例:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%E-mail: [emailprotected]%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%num=[10 50 100 150 200 300 400 500...
  • polyadd 代码 可以进行多项式求值根的运算,主要进行多项式加法的运算
  • 利用C++,实现线性表的顺序存储,并利用线性表的顺序存储结构求解一元多项式。顺序表是数据结构课程中的重要的基础内容,应该熟练掌握。
  • 多项式求值(Evaluation of a Polynomial)

    千次阅读 2020-02-29 23:02:57
    多项式求值(Evaluation of a Polynomial) 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 fasafaf 新的...
  • Java 多项式求值

    千次阅读 2017-08-27 09:14:55
    多项式求值: package ceshi; import java.awt.Polygon; import java.text.DecimalFormat; public class duoxiangshiqiuzhi { //一维多项式求值 n为多项试系数 数组a为存放多项式系数的n个系数 x为指定变量 ...
  • 多项式求值(附C++实现)

    千次阅读 2019-03-19 23:06:52
    目录前言一维多项式求值 前言   本文主要介绍了一维多项式求值和二维多项式求值,从算法工程师的视角出发设计更高效的代码。读者可以通过C++代码或者Python代码进一步了解这个算法。 一维多项式求值   计算...
  • RMFE 在SageMath中实现基于多项式求值的反向乘法友好嵌入(Cascudo / Cramer / Xing / Yuan,Crypto 18),请参阅SageMath是基于Python的免费开源数学软件。 要求: 查看有关用法的更多信息Python 3 用法运行示例:...
  • 对用户输入的任一整数,输出以下多项式。 y=2x2+x+8 输入 输入整数x的。 输出 输出一个整数,即多项式。 样例输入 Copy 1 样例输出 Copy 11 来源/分类 * 代码: a = eval(input()) y = 2 * a *a + a + 8 ...
  • 1002: 简单多项式求值 题目描述 对用户输入的任一整数,输出以下多项式。 y=2x^2+x+8 输入 输入整数x的。 输出 输出一个整数,即多项式。 样例输入 1 样例输出 11 x=int(input()) #输入...
  • zzuli OJ 1002: 简单多项式求值

    千次阅读 2018-12-23 16:17:32
    对用户输入的任一整数,输出以下多项式。 y=2x2+x+8 输入 输入整数x的。 输出 输出一个整数,即多项式。 样例输入 1 样例输出 11 #include&amp;lt;stdio.h&amp;gt; int main() { &...
  • ZZULIOJ 1002:简单多项式求值题目描述总结反思 题目描述 时间限制: 1 Sec 内存限制: 30 MB 提交: 34254 解决: 22657 [提交] [状态] [讨论版] [命题人:admin] 题目描述 对用户输入的任一整数,输出以下多项式。 y...
  • 1002: 简单多项式求值

    2021-07-25 23:11:35
    对用户输入的任一整数,输出以下多项式。 y=2x2+x+8 输入 输入整数x的。 输出 输出一个整数,即多项式。 样例输入 Copy 1 样例输出 Copy 11 #include &...
  • 算法笔记:函数题-多项式求值(C语言) 一.解题 题目要求 本题要求实现一个函数,计算阶数为n,系数为a[0] ..a[1]... ...a[n]的多项式f(x)=∑​i=0​n​​(a[i]×x​i​​) 在x点的。 double f( int n, ...
  • PTA 6-2 多项式求值 (C语言实现)

    千次阅读 2018-10-15 23:54:16
    6-2 多项式求值  本题要求实现一个函数,计算阶数为n,系数为a[0] ... a[n]的多项式f(x)=∑n(上限) ​i=0(下限)​​​(a[i]×x​i​​) 在x点的。 函数接口定义: double f( int n, double a[], ...
  • 1002: 简单多项式求值 时间限制: 1 Sec 内存限制: 30 MB 提交: 48156 解决: 31992 [状态] [讨论版] [提交] [命题人:admin] 题目描述 对用户输入的任一整数,输出以下多项式。 y=2x2+x+8 输入 输入整数x的。 ...
  • PTA 6-2 多项式求值 (15分) 题目 6-2 多项式求值 (15分) 本题要求实现一个函数,计算阶数为n,系数为a[0] … a[n]的多项式f(x)=∑​i=0​n(a[i]×x​i) 在x点的。 函数接口定义: double f( int n, double a[], ...
  • 1002: 简单多项式求值 时间限制: 1 Sec 内存限制: 30 MB 提交: 50279 解决: 33465 [状态] [讨论版] [提交] [命题人:admin] 题目描述 对用户输入的任一整数,输出以下多项式。 y=2x2+x+8 输入 输入整数x的。 ...
  • 1002 : 简单多项式求值

    2020-05-02 12:15:04
    下列多项式: y=2x2+x+8 输入 输入整数x的 输出 计算并输出y的 样例输入 1 样例输出 11 代码 #include <stdio.h> int main() { int x, y; scanf("%d", &x); y = 2 * x * x + x + 8; ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 83,834
精华内容 33,533
关键字:

多项式求值

友情链接: 2.zip