【MAC 上学习 C++】Day 53-2. 实验10-8 递归计算P函数 (15 分)

实验10-8 递归计算P函数 (15 分)

1. 题目摘自

https://pintia.cn/problem-sets/13/problems/582

2. 题目内容

本题要求实现下列函数P(n,x)的计算,其函数定义如下:


27.jpg

函数接口定义:

double P( int n, double x );

其中n是用户传入的非负整数,x是双精度浮点数。函数P返回P(n,x)函数的相应值。题目保证输入输出都在双精度范围内。

输入样例:

10 1.7

输出样例:

3.05

3. 源码参考
#include 
#include 

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;
  }
}

你可能感兴趣的:(【MAC 上学习 C++】Day 53-2. 实验10-8 递归计算P函数 (15 分))