07/10/03 05:48:29
>>647
問題1
#include <stdio.h>
#include <math.h>
int fac(int n) { return n==1 ? 1 : n * fac(n-1); }
int geo(int a, int r, int n) { return n==1 ? a : geo(a, r, n-1) * (pow(r, n) - 1) / (pow(r, n-1) - 1); }
int fib(int n) { return n==1 || n==2 ? 1 : fib(n-1) + fib(n-2); }
double a[] = { 1, 2, 3, 4, 5};
double hor(double x, int n) { return n==0 ? a[n] : hor(x, n-1) * x + a[n]; }
int main(void)
{
printf("10! = %d\n", fac(10));
printf("2^0 + 2^1 + 2^2 + ... + 2^9 = %d\n", geo(1, 2, 10));
printf("fibonacci 20: %d\n", fib(20));
printf("f(2) = %.2f\n",hor(2, 4));
return 0;
}