简单幂级数(递归版)

描述

请编写递归函数,求下面的简单幂级数。

P(x,n)=1+x+x
2
+x
3
+…+x
n

函数原型
double P(double x, int n);
说明:x 为实数,n 为非负整数,函数值为多项式的值。

规定:当 n=0 时,函数值为 1。

裁判程序
#include

double P(double x, int n);

int main()
{
double x;
int n;
scanf(“%lg%d”, &x, &n);
printf(“%.15g\n”, P(x, n));
return 0;
}

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

输入样例1

0.5 12

输出样例1

1.999755859375

输入样例2

-0.5 12

输出样例2

0.666748046875

solution

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

你可能感兴趣的:(pat,算法)