本题要求实现下列函数 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
来源:
来源:PTA | 程序设计类实验辅助教学平台
链接:https://pintia.cn/problem-sets/13/exam/problems/582
提交:
题解:
/*
* 递归计算 P 函数
*/
double P(int n, double x) {
if (n == 0) {
return 1;
} else if (n == 1) {
return x;
} else if (n > 1) {
return 1.0 / n * ((2 * n - 1) * P(n - 1, x) - (n - 1) * P(n - 2, x));
}
}