题目描述
用递归的方法求 Hermite 多项式的值
hn(x)=⎩⎪⎪⎨⎪⎪⎧12x2xhn−1(x)−2(n−1)hn−2(x)n=0n=1n>1
对给定的 x 和正整数 n ,求多项式的值,并保留两位小数。
输入格式
给定的 n 和正整数 x。
输出格式
多项式的值。
输入样例
1 2
输出样例
4.00根据题意,我们需要计算 Hermite 多项式,题目中给出相应的计算公式,我们需要对给定的数字,进行相应公式的计算,当满足不同的条件下,我们采用不同的计算公式。 #include#include using namespace std; double calculate(int n,int x); //主函数的定义 int main() { int n,x; double result; cin>>n>>x; result=calculate(n,x); printf("%.2lf\n",result); return 0; } //Hermite多项式的定义 double calculate(int n,int x) { if(n==0)//判断是否到达递归边界n=0 return 1; else if(n==1)//判断是否到达递归边界n=1 return 2*x; else//否则继续递归 return ( 2*x*calculate(n-1,x)-2*(n-1)*calculate(n-2,x) ); }
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/217954.html原文链接:https://javaforall.net
