1. 程式人生 > >4-19 遞迴計算P函式 (10分)

4-19 遞迴計算P函式 (10分)

本題要求實現下列函式P(n,x)P(n,x)P(n,x)的計算,其函式定義如下:

函式介面定義:

double P( int n, double x );

其中n是使用者傳入的非負整數,x是雙精度浮點數。函式P返回P(n,x)P(n,x)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;
	if(n == 0)
	result = 1;
	else if(n == 1)
	result = x;
	else
	result = ((2 * n - 1) * P(n-1,x)-(n - 1) * P(n-2,x)) / n;
	return result;
}