杭电-------2046骨牌铺方格(C语言写)

#include<stdio.h>

long long a[50] = { 0 };

long long recrusion(int n) {
    if (n<3 || a[n]>0) {
        return a[n];
    }
    return a[n] = recrusion(n - 1) + recrusion(n - 2);
}

int main() {
    int n;
    a[0] = 0;
    a[1] = 1;
    a[2] = 2;
    while (~scanf("%d", &n)) {
        recrusion(n);
        printf("%lld\n", a[n]);
    }
    return 0;
}

 

posted @ 2018-02-01 16:02  Carol淋  阅读(293)  评论(0编辑  收藏  举报