杭電oj母牛的故事
阿新 • • 發佈:2018-12-20
這是一道杭電oj2018的題目,第一次做這種型別的題目,被嚇著了,但最後在提示下還是做出來了,哈哈,其實規律很簡單,當年數大於四時,其第n年的牛數就是前一年的數目加上前三年的牛的數目,因為前三年的牛都能夠生下一頭牛了
#include <iostream> using namespace std; int main(void) { int a[250]; for (int i = 0; i < 4; i++) a[i] = i+1; //前四年的數目 int n,sum; //n為年份 while (cin >> n) { sum = 0; if (n == 0) break; else if (n <= 4) cout << a[n-1] << "\n"; else if (n > 4){ for (int i = 5; i < n+1; i++) a[i-1] = a[i-2] + a[i-4]; cout << a[n-1] << "\n"; } } return 0; } //從大於第四年開始,第n年的數就是前一年的牛數加上前三年的牛數,因為前三年有多少頭牛就能在前一年的基礎上增加多少牛