标签:
一开始最容易想到的思路是用四个数组分别记录当晚 当天新出生的猪,已经生了一头的猪,已经生了两头的猪,当天总共的猪的数量。
然后就见代码。但是后面还有一个斐波那契数列的解法。
#include <iostream> using namespace std; int a[22]; int b[22]; int c[22]; int d[22]; int main() { int t,n; a[1]=1;b[1]=0;c[1]=0;d[1]=1; for(int i=2;i<21;i++) { a[i]=d[i-1]; b[i]=a[i-1]; c[i]=b[i-1]; d[i]=a[i]+b[i]; } cin>>t; while(cin>>n) { cout<<d[n]<<endl; } return 0; }
思路2:
可以继续化简。
step1:首先这个c数组显然是没有用的。
step2:d[i]=a[i]+b[i];
a[i]=d[i-1];
b[i]=a[i-1]=d[i-2];
所以d[i]=d[i-1]+d[i-2];
就是斐波那契数列,代码就不写了。
标签:
原文地址:http://www.cnblogs.com/luosuo10/p/5276322.html