骨牌铺方格
Time Limit: 1000MS Memory limit: 32768K
题目描述
在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输入n ,输出铺放方案的总数. 例如n=3时,为2× 3方格,骨牌的铺放方案有三种,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/18bfb0cf7dd0217e44db6413d8db7c4a.jpeg)
输入
输入数据由多行组成,每行包含一个整数n,表示该测试实例的长方形方格的规格是2×n (0< n<=50)。
输出
对于每个测试实例,请输出铺放方案的总数,每个实例的输出占一行。
示例输入
1 3 2
示例输出
1 3 2
大数据的时候你可以先把结果存到数组里,有用时再调出来就行,这样很省时间的。。虽然我这个没用
递推公式:f(1)=1;f(2)=2;f(n)=f(n-1)+f(n-2);
#include<stdio.h> int main() { long long int n,i,e,f; long long int g[50],a=1,b=2; g[1]=1; g[2]=2; for(i=3; i<=50; i++) { e=b; g[i]=a+b; b=g[i]; a=e; } while(scanf("%lld",&n)!=EOF) { printf("%lld\n",g[n]); } return 0; }