任务描述
本关任务:编写函数 funP,完成数学函数P(n,x)函数的计算,定义如下:
编程要求
在右侧编辑器中的Begin-End之间补充代码,要求使用递归求数学函数 P 函数的功能。
测试说明
平台会对你编写的代码进行测试,比对你输出的数值与实际正确数值,只有所有数据全部计算正确才能通过测试:
测试输入:12 2.34
预期输出:P(12, 2.34)=5.1583
测试输入:9 9.8
预期输出:P(9, 9.8)=25.8949
最终代码
#include <iostream>
using namespace std;
// 函数funP:实现数学函数P函数
// 返回值:返回P(n,x)的值
double funP(int n, double x) {
// 请在这里补充代码,实现递归函数funP
/********** Begin *********/
if (n == 0) {
return 1;
} else if (n == 1) {
return x;
} else {
return ((2 * n - 1) * funP(n - 1, x) - (n - 1) * funP(n - 2, x)) / n;
}
/********** End **********/
}
int main() {
int n;
double x;
cin >> n >> x; // 输入n、x
cout << "P(" << n << ", " << x << ")=" << funP(n, x) << endl;
return 0;
}