本题要求实现下列函数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 result=0;//存放结果,也可以不用定义result这个中间变量,直接返回结果
if(n==0)
result=1;
if(n==1)
result=x;
if(n>1)
result=((2*n-1)*P(n-1,x)-(n-1)*P(n-2,x))/n;//此处的P函数会继续返回这个函数中执行
return result;
}