实验10-8 递归计算P函数 (15 分)
1. 题目摘自
https://pintia.cn/problem-sets/13/problems/582
2. 题目内容
本题要求实现下列函数P(n,x)的计算,其函数定义如下:
![](https://img.haomeiwen.com/i11463255/7ce0a0bc5e54a3b1.jpg)
函数接口定义:
double P( int n, double x );
其中n
是用户传入的非负整数,x
是双精度浮点数。函数P
返回P(n,x)函数的相应值。题目保证输入输出都在双精度范围内。
输入样例:
10 1.7
输出样例:
3.05
3. 源码参考
#include <iostream>
#include <iomanip>
using namespace std;
double P( int n, double x );
int main()
{
int n;
double x;
cin >> n >> x;
cout << fixed << setprecision(2);
cout << P(n,x) << endl;
return 0;
}
double P( int n, double x )
{
if(n == 0)
{
return 1;
}
else if(n == 1)
{
return x;
}
else
{
return ((2 * n - 1) * P(n - 1, x) - (n - 1) * P(n - 2, x)) / n;
}
}
网友评论