#include #include #include unsigned long int *slab; unsigned long int fib(int x){ if (x < 2) { return 1; } else { if(slab[x - 1] == 0) slab[x - 1] = fib(x - 1); if(slab[x - 2] == 0) slab[x - 2] = fib(x - 2); return slab[x-1] + slab[x-2]; } } int main(){ slab = malloc(sizeof(int) * 60); memset(slab, 0, sizeof(int) * 60); printf("%lu\n", fib(60)); free(slab); return 0; }