描述
对于多项式f(x) = ax3 + bx2 + cx + d 和给定的a, b, c, d, x,计算f(x)的值。
输入
输入仅一行,包含5个实数,分别是x,及参数a、b、c、d的值,每个数都是绝对值不超过100的双精度浮点数。数与数之间以一个空格分开。
输出
输出一个实数,即f(x)的值,保留到小数点后7位。
样例输入
2.31 1.2 2 2 3
样例输出
33.0838692
代码:
(c++)
#include<iostream>
using namespace std;
#include<iomanip>
/*描述
对于多项式f(x) = ax3 + bx2 + cx + d 和给定的a, b, c, d, x,计算f(x)的值。
输入
输入仅一行,包含5个实数,分别是x,及参数a、b、c、d的值,每个数都是绝对值不超过100的双精度浮点数。数与数之间以一个空格分开。
输出
输出一个实数,即f(x)的值,保留到小数点后7位。
样例输入
2.31 1.2 2 2 3
样例输出
33.0838692
*/
int main(){
double x,a, b,c,d,f=0;//定义确诊数和死亡数
cin >> x;
cin >> a;
cin >> b;
cin >> c;
cin >> d;
f = a * x * x * x + b * x * x + c * x + d;//计算f(x)的值
cout << setiosflags(ios::fixed) << setprecision(7) << f<<endl;//输出f(x)的值,并保留到小数点后7位
system("pause");
return 0;
}
(Java)
import java.util.Scanner;
public class Main {
/*描述
对于多项式f(x) = ax3 + bx2 + cx + d 和给定的a, b, c, d, x,计算f(x)的值。
输入
输入仅一行,包含5个实数,分别是x,及参数a、b、c、d的值,每个数都是绝对值不超过100的双精度浮点数。数与数之间以一个空格分开。
输出
输出一个实数,即f(x)的值,保留到小数点后7位。
样例输入
2.31 1.2 2 2 3
样例输出
33.0838692
*/
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
double x= input.nextDouble();
double a= input.nextDouble();
double b= input.nextDouble();
double c= input.nextDouble();
double d= input.nextDouble();
//输出f(x)的值。
System.out.printf("%.7f",a*x*x*x+b*x*x+c*x+d);
}
}