QUTOJ 1221: 母牛生小牛 遞推
阿新 • • 發佈:2019-02-03
連結:http://115.28.203.224/problem.php?id=1221
1221: 母牛生小牛
時間限制: 1 Sec 記憶體限制: 128 MB提交: 1 解決: 1
題目描述
設有一頭小母牛,從出生第四年起每年生一頭小母牛,按此規律,第N年時有幾頭母牛?
輸入
輸入一個整數N。(1≤N≤50)
輸出
第N年時母牛的數量
樣例輸入
5
樣例輸出
3
思路:明顯的遞迴,F(n) = F(n-1)+F(n-3) 因為第n-3年出生的小牛可以生小牛啦
程式碼:
#include<iostream> #include<stdlib.h> #include<stdio.h> #include<cmath> #include<algorithm> #include<string> #include<string.h> #include<set> #include<queue> #include<stack> #include<vector> #include<functional> #include<map> using namespace std; const int maxn = 10000 + 10; const int INF = (int)1e9; int n; int fun(int x) { if (x == 1)return 1; if (x == 2)return 1; if (x == 3)return 1; if (x == 4)return 2; else return fun(x - 1) + fun(x - 3); } int main() { while (scanf("%d", &n) != EOF) { printf("%d\n", fun(n)); } return 0; }