- 744 名前:デフォルトの名無しさん [2008/10/26(日) 17:10:49 ]
- >>742
#include <stdlib.h> #include <stdio.h> #include <memory.h> double horner(double x, double *a, int n); main() { int i, n; double x, *a; printf("Horner の方法で多項式を計算します!\n"); printf("次数n を入力して下さい:"); scanf("%d", &n); a = (double*)malloc(sizeof(double) * (n + 1)); printf("実数係数を順に入力して下さい:\n"); for(i = n; i >= 0; i--){ printf("a[%d] = ", i); scanf("%lf", &a[i]); } printf("x の値を入力して下さい:"); scanf("%lf", &x); printf("多項式の値 = %lg\n", horner(x, a, n)); free(a); return 0; } double horner(double x, double *a, int n) { if (n == 0) return a[0]; return x * horner(x, a + 1, n - 1) + a[0]; }
|

|