/* * Calculate I_n = \int_0^1 e^{x-1} x^n dx * * integrating by parts, I_n = 1 - n*I_{n-1} */ #include #include #define J 30 int main(void) { double i[J+1], p[J+1]; int j; i[0] = 1 - 1/exp(1.); /* I_0 */ for (j = 1; j <= J; j++) { i[j] = 1. - j*i[j-1]; /* I_n = 1 - n*I_{n-1} */ } p[J] = 10.; for (j = J; j >= 0; j--) { p[j] = (1. - p[j+1])/(j+1); /* I_n = (1 - I_{n+1})/(n+1) */ } for (j = 0; j <= J; j++) { printf("%3d %25.6f %25.6f\n", j, i[j], p[j]); } return(0); }