杭电-------2047阿牛的eof牛肉串(C语言写)

/*

主要看最后一个是否为O,若为O,则倒数第二个不能为O,则为a[n-2]*1*2;

若不为O,则最后一个有两个选择则为a[n-1]*2

*/



#include<stdio.h>

long long a[40] = { 0 };

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

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

 

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