C语言递归函数计算多项式

递归函数double p(int n,int x)计算下列多项式。
多项式的递归定义如下:输入每行输入2个整数n,x。当n<0时结束输入。输出对应输入,每行输出一个计算结果。
样例输入0,31,32,30-1,30
样例输出1.0000003.0000001349.500000
答案

#include<stdio.h>
int main()
{
       double Fact(int a,int b);
       int n,x;double h;
       while(scanf("%d,%d",&n,&x)!=EOF){
            if(n<0)break;h=Fact(n,x);
            printf("%lf\n",h);
       }
       return 0;
}
double Fact(int a,int b){
       double c;
       if(a<=0)
          c=1;
       if(a==1)
          c=b;
       if(a>=2)
           c=((2.0 * a - 1) * b*Fact(a- 1.0, b) - (a - 1.0) * Fact(a - 2.0, b)) / a;
       return c;
}

猜你喜欢

转载自blog.csdn.net/weixin_43752257/article/details/84485894