static int fibo_dp(int n){ if (n == 0 || n == 1) return n; if (cache[n] == -1){ cache[n] = fibo_dp(n - 1) + fibo_dp(n - 2); } return cache[n]; }
int main(int argc, char * argv[]) { uint32_t n, result; printf("Hi.\n"); n= atol(argv[1]); printf("input = %d\n", n); result = fibo(n); printf("result = %d\n.", result); printf("fibo called %d time.\n", counter_fibo); result = fibo_dp(n); printf("result by dp = %d\n.", result); printf("fibo_dp looped %d time.\n", counter_fibo_dp); return 0; }