简单幂级数(递归版)

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

P(x,n)=1+x+x2+x3+...+xn

函数原型

double P(double x, int n); 

说明:x 为实数,n 为非负整数,函数值为多项式的值。

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

要求:不要使用循环语句。

裁判程序

#include <stdio.h>

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

测试样例

输入样例 输出样例
3.2 0 1
3.2 1 4.2
3.2 2 14.44
1.5 12 387.239013671875
-1.5 12 78.247802734375
double P(double x, int n)
{
    if(n==0)
        return 1;
    else if(n==1)
        return x+1;
    else if(n==2)
        return x*x+x+1;
    else
        return P(x,n-1)*x+1;//在纸上列出表达式,很容易得出!
        
}

猜你喜欢

转载自blog.csdn.net/m0_58291075/article/details/127942427