#include <stdio.h>
#include <stdlib.h>
long fib(long *fibs, int n) {
if((n == 0) || (n == 1)) {
fibs[n] = 1;
} else {
fibs[n] = fibs[n - 1] + fibs[n - 2];
}
return fibs[n];
}
int main(int argc, char *argv[]) {
long *fibs;
long sum = 0;
int n = 6, i;
fibs
= malloc(n
* sizeof(long)); long tem;
for(i = 0; i < n; i++) {
tem = fib(fibs, i);
sum += tem;
}
}
ICNpbmNsdWRlIDxzdGRpby5oPgogI2luY2x1ZGUgPHN0ZGxpYi5oPgoKbG9uZyBmaWIobG9uZyAqZmlicywgaW50IG4pIHsKICAgaWYoKG4gPT0gMCkgfHwgKG4gPT0gMSkpIHsKICAgICAgZmlic1tuXSA9IDE7CiAgIH0gZWxzZSB7CiAgICAgICBmaWJzW25dID0gZmlic1tuIC0gMV0gKyBmaWJzW24gLSAyXTsKICAgfQogICByZXR1cm4gZmlic1tuXTsKfQoKaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkgewogICBsb25nICpmaWJzOwogICBsb25nIHN1bSA9IDA7CiAgIGludCBuID0gNiwgaTsKICAgZmlicyA9IG1hbGxvYyhuICogc2l6ZW9mKGxvbmcpKTsKICAgbG9uZyB0ZW07CgogICBmb3IoaSA9IDA7IGkgPCBuOyBpKyspIHsKCSAgIHRlbSA9IGZpYihmaWJzLCBpKTsKICAgICAgIHN1bSArPSB0ZW07CiAgIH0KCiAgIHByaW50ZigiJWxkXG4iLCBzdW0pOwogICBmcmVlKGZpYnMpOwp9Cgo=