这类题主要分析规律。
思路:有2*n个方。在放第n个的时候有两种可能:竖放,则有a[n-1]种可能;横放有a[n-2]种可能。
公式:a[i] = a[i-1] + a[i-2];
#include<stdio.h>
int main()
{
__int64 a[55];
a[0] = 0;
a[1] = 1;
a[2] = 2;
a[3] = 3;
int i;
for(i = 4;i < 55; i++)
a[i] = a[i-1] + a[i-2];
int n;
while(scanf("%d",&n) != EOF)
printf("%I64d\n",a[n]); //无编译警告。
return 0;
}