1. 程式人生 > >PAT 童年生活二三事 (遞推) 詳細題解

PAT 童年生活二三事 (遞推) 詳細題解

按理說這就是一道水題, 可我一開始竟然沒想出來要用遞推, 反而糾結在組合數學和搜尋上面了

水題就要多多找找規律, 把前幾個答案都列出來, 馬上就可以發現就是斐波那契數列了

//童年生活二三事
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cstring>
#include <string>
#include <vector>
#include <queue>
#include <cmath>
using namespace std;
#define ms(x, n) memset(x,n,sizeof(x));
typedef  long long LL;
const LL maxn = 95;

LL n, cont[maxn];
void init()
{
    cont[1] = 1, cont[2] = 2;
    for(int i = 3; i <= maxn; i++)
        cont[i] = cont[i-1]+cont[i-2];
}
int main()
{
    init();
    while(cin >> n){
        cout << cont[n] << endl;
    }
    return 0;
}