1012:计算多项式的值

    时间限制: 1000 ms    内存限制: 65536 KB
1
【题目描述】

对于多项式f(x)=ax3+bx2+cx+d和给定的a,b,c,d,x,计算f(x)的值,保留到小数点后7位。

【输入】

输入仅一行,包含5个实数,分别是x,及参数a、b、c、d的值,每个数都是绝对值不超过100的双精度浮点数。数与数之间以一个空格分开。

【输出】

输出一个实数,即f(x)的值,保留到小数点后7位。

【输入样例】

2.31 1.2 2 2 3

【输出样例】

33.0838692

说明:

主要考查怎么把数学问题应用在编程上,涉及到数学的指数运算。
1
思路分析:

在指数运算x2中,x称为底数,2称为指数,也称为x的平方。我们知道x的平方其实就是两个x相乘。

那么x3称为x的立方,是3个x相乘。同理xn,是n个x相乘。

所以,ax3+bx2+cx+d在C/C++中应写成:

a * x * x * x + b * x * x + c * x + d

f(x)在数学中称为函数,在C/C++中,可以把它当做是一个变量,用来接收这个公式的结果。

当然直接输出该公式的结果也行。

最后,根据这公式进行运算即可。
1
2
3
4
5
6
7
8
9
10
11
12
13
求解过程:

声明5变量。

输入变量值。

根据要求输出它们的结果。
1
2
3
4
5
难点:

本题的难点是理解该等式。
1
参考代码 - C++:

代码说明:

100.0*b/a,因为b和a都是整数,如果直接相除其结果也是整数,除了强制类型转换为double类型外,还可以把整数100变    为浮点数100.0,这样其结果也是浮点数。
1
2
3
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
    double x, a, b, c, d;
    cin >> x >> a >> b >> c >> d;
    cout << fixed << setprecision(7);
    cout << a * x * x * x + b * x * x + c * x + d;
    return 0;
}
1
2
3
4
5
6
7
8
9
10
11
参考代码 - C语言:

代码说明:

C语言printf函数输出百分号的方法是写两个%
1
2
3
#include <stdio.h>
int main()
{
    double x, a, b, c, d;
    scanf("%lf %lf %lf %lf %lf", &x, &a, &b, &c, &d);
    printf("%.7f", a * x * x * x + b * x * x + c * x + d);
    return 0;
}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值