/* p. 506, A Book on C, by Al Kelley and Ira Pohl */ #include #include int fib(int); int fork(void); void sleep(unsigned); main() { int begin = time(NULL),i; if (fork() == 0) /*child*/ for (i = 0; i < 30; ++i) printf("fib(%2d) = %d\n", i, fib(i)); else /*parent*/ for (i=0; i < 30; ++i){ printf("elapsed time = %d\n", time(NULL) - begin); } } int fib(int n) { if (n <= 1) return n; else return (fib(n-1) + fib(n-2)); }