この宿題解いてください。

#include<stdio.h> /* フィボナッチ数列について */
#define NUM 40 /* F(40)まで求める      */  
int fib(int n)
{
if(n > 1){
return fib(n-1) + fib(n-2);
}else{
return 1;
}
}

int main()
{
int i;
for(i=0; i<=NUM; i++){
printf("Fib(%d) = %d.\n", i, fib(i));
}
}

上のプログラムのfib()関数を再帰を使わずに
計算するように書き換えよ。すなわち、結果を
蓄える配列Fib[]とF(count-1)まで計算したこと
を表わす変数countを、静的変数(または大域変
数)として宣言せよ。二重に計算することのな
いよう工夫すること。