다항식의 값을 차례로 계산하다

반복적으로 다항식의 값을 계산하면 하나의 다항식은 여러 차례의 다항식으로 나누어 끼워 넣을 수 있다.y=1+x+x^2=1+(1+x)*x는 수학을 기본적으로 배웠는데, 여기서 귀속을 이용하여 각 끼워 넣은 다항식의 값을 계산하고, 바깥에서 안쪽으로, 안에서 바깥으로 출력 결과를 계산한다
#include <stdio.h>
#include <stdlib.h>
#define OVERFLOW -1
#define N 10// 
double Polynomail(int a[], int i, double x, int n)
{// , a[] 
//i , x , n 
    if (i > 0)
    {
        return a[n - i] + Polynomail(a, i - 1, x, n) * x;// 
    }
    else
    {
        return a[n];
    }
}


int main(void)
{
    double x;
    int n;// 
    int i;
    int a[N];
    printf(" x :");
    scanf("%lf", &x);
    printf(" :");
    scanf("%d", &n);
    if (n > N - 1)
    {
        exit(OVERFLOW);
    }
    printf(" a[0] -- a[n]:");
    for (i = 0; i <= n; i++)
    {
        scanf("%d", &a[i]);
    }
    printf("P(n) = %lf
"
, Polynomail(a, n, x, n)); system("pause"); return 0; }

좋은 웹페이지 즐겨찾기