#include #include #include int* initArr(int noOfElements) { int* arr = (int *)malloc(sizeof(int) * noOfElements); memset(arr, 0, noOfElements); return arr; } long numOfCalls = 0; long fibonacci(long n) { numOfCalls++; static int* f = initArr(n+1); if (f[n] == 0) { if (n == 0 || n == 1) { f[n] = n; } else { f[n] = fibonacci(n-1) + fibonacci(n-2); } } return f[n]; } main(int argn, char** args) { printf("Fibonaccitalet är %d\n", fibonacci(atoi(args[1]))); printf("Det krävdes %d anrop\n", numOfCalls); }