hdu 2160 母猪的故事(睡前随机水一发)(斐波那契数列)

解题思路:

一只母猪生下第二头后立马被杀掉,可以这样想即,生下第二头便被杀掉,可以看成母猪数量没变

第一天 1

第二天 2

第三天 3 :第一头生第二头后杀掉还是1头,第二头再加上第二头生下的,一共三头

所以只需要前一天的数量 + 前前一天的数量 = 当天的数量。

可以理解,母猪只生下一头后便不生了(i-2),还要加上下一个生的(i-1)。

斐波那契数列:f[i]  =  f[i - 1] + f[i - 2]

Ac code :

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int main()
 4 {
 5     int t,a,i,x[21];
 6     x[1]=1;
 7     x[2]=2;
 8     for(i=3;i<21;++i)
 9         x[i]=x[i-1]+x[i-2];
10     scanf("%d",&t);
11     while(t--)
12     {
13         scanf("%d",&a);
14         printf("%d
",x[a]);
15     }
16     return 0;
17 }
原文地址:https://www.cnblogs.com/A--Q/p/5774779.html