PTA 递归计算P函数

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

函数接口定义:

double P( int n, double x );

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

裁判测试程序样例:

#include <stdio.h>

double P( int n, double x );

int main()
{
    int n;
    double x;

    scanf("%d %lf", &n, &x);
    printf("%.2f\n", P(n,x));

    return 0;
}

/* 你的代码将被嵌在这里 */

输入样例:

10 1.7

输出样例:

3.05
double P( int n, double x )
{
  double sum=0;
  if(n==0)
  sum=sum+1;
  else if(n==1)
  sum=sum+x;
  else if(n>1)
  sum=sum+((2*n-1)*P(n-1,x)-(n-1)*P(n-2,x))/n;
  return sum;
}

猜你喜欢

转载自blog.csdn.net/weixin_43723935/article/details/89007331
PTA