C++在右侧编辑器中的 Begin-End 之间补充代码,编写函数 funP,完成数学函数 P(n,x) 函数的计算,定义如下: P(n,x)= ⎩ ⎪ ⎨ ⎪ ⎧ 1 x ((2n−1)P(n−1,x)−(n−1)P(n−2,x))/n (n=0) (n=1) (n>1)
时间: 2023-09-24 07:11:23 浏览: 197
函数名与函数指针.pdf
下面是函数 funP 的实现:
```c++
double funP(int n, double x)
{
double Pn_2 = 1; // P(n-2,x)
double Pn_1 = x; // P(n-1,x)
double Pn = 0; // P(n,x)
if (n == 0) {
return 1;
} else if (n == 1) {
return x;
} else {
for (int i = 2; i <= n; i++) {
Pn = ((2 * i - 1) * Pn_1 - (i - 1) * Pn_2) / i;
Pn_2 = Pn_1;
Pn_1 = Pn;
}
return Pn;
}
}
```
函数 funP 接收两个参数,一个整数 n 和一个实数 x,返回一个实数,即 P(n,x) 的值。
函数实现中使用了三个变量:Pn_2、Pn_1 和 Pn,分别表示 P(n-2,x)、P(n-1,x) 和 P(n,x)。通过循环依次计算 P(2,x)、P(3,x)、……、P(n,x) 的值,最终返回 P(n,x) 的值。
在函数实现中,当 n=0 时,P(0,x) = 1;当 n=1 时,P(1,x) = x;当 n>1 时,使用递推公式计算 P(n,x) 的值。
阅读全文