当前位置: 首页 > article >正文

函数题 6-2 多项式求值【PAT】

文章目录

  • 题目
    • 函数接口定义
    • 裁判测试程序样例
    • 输入样例
    • 输出样例
  • 题解
    • 解题思路
    • 完整代码
    • AC代码

编程练习题目集目录

题目

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

函数接口定义

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

  其中 n n n 是多项式的阶数, a [ ] a[] a[] 中存储系数, x x x 是给定点。函数须返回多项式 f ( x ) f(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

题解

解题思路

  使用秦九韶的算法来计算多项式,使用 f o r for for 循环来依次计算每一项的结果,然后进行相加,输出最后的结果即可。

完整代码

#include <math.h>
#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)
{
    double sum = 0;
    int i = 0;
    for (i; i <= n; i++)
    {
        sum = sum + (a[i] * pow(x, i));
    }
    return sum;
}

AC代码

double f(int n, double a[], double x)
{
	double sum = a[0], num = 1;
	int i = 1;
	for (i = 1; i <= n; i++)
	{
		num *= x;
		sum += a[i] * num;
	}
	return sum;
}

http://www.kler.cn/news/307584.html

相关文章:

  • UVA-225 黄金图形 题解答案代码 算法竞赛入门经典第二版
  • 电脑浏览器访问华为路由器报错,无法访问路由器web界面:ERR_SSL_VERSION_OR_CIPHER_MISMATCH 最简单的解决办法!
  • 代码随想录打卡Day32
  • Unity 使用Spine动画切换时有残影
  • VSCode创建C++项目和编译多文件
  • java发邮件内容含表格实现方法?如何配置?
  • sqlgun新闻管理系统
  • 本地部署大语言模型详细操作步骤
  • Y电容(安规电容)的作用是什么?
  • 【C++】queue和priority_queue
  • Linux:进程(一)
  • 无人机建模详解!!!
  • [Leetcode LCR 154][Medium]-复杂链表的复制-链表
  • JSON数组
  • 通信工程学习:什么是接入网(AN)中的CF核心功能
  • dplyr、tidyverse和ggplot2初探
  • 一些学习three的小记录
  • RK3588九鼎创展方案在Arm集群服务器的项目中的应用分析​​
  • 关于决策树集成的一份介绍
  • IDEA 新版本设置菜单展开
  • Python 单元测试详解:Unittest 框架的应用与最佳实践
  • java.人机猜拳游戏
  • JVM 性能优化与调优-Shenandoah GC
  • [K8S]Forbidden: pod updates may not change fields other than
  • 【Linux】NAT
  • 医学数据分析实训 项目三 关联规则分析预备项目---购物车分析
  • Django——多apps目录情况下的app注册
  • 在Ubuntu 16.04上安装R的方法
  • 题目:单调栈
  • SpringBoot用kafka.listener监听接受Kafka消息