27、求解n阶多项式的值,多项式公式如下

/*
求解n阶多项式的值,多项式公式如下:
Pn(x) = 1       n=0;
        = x       n = 1;
        = (2n - 1)xPn-1(x) - (n - 1)Pn-2(x)     n>=2
 */
#include <stdio.h>
#include <stdlib.h>

float Pn(int n,float x)
{
    if(n == 0)
        return 1;
    else if(n == 1)
        return x;
    else
        return (2 * (n-1) + 1) * x * Pn(n-1,x) - (n - 1) * Pn((n -1 ) - 1,x);
        //return (2 * n - 1) * x * Pn(n-1,x) - (n - 1) * Pn(n - 2,x);
}

int main()
{
    int n;
    float x;
    printf("Enter n:");
    scanf("%d", &n);
    printf("Enter x:");
    scanf("%f", &x);
    printf("%f", Pn(n,x));
    return 0;
}

posted @ 2021-09-25 21:28  叶梓渔  阅读(702)  评论(0)    收藏  举报