杭电oj 2046 骨牌铺方格 C语言

n=1          1

n=2          2

n=3          3

n=4          5

n=5          8

n=6          13  ......

很容易看出当n>=3,满足f(n)=f(n-1)+f(n-2)

#include 

void main()
{
	int n,i;
	long long sum[50];
	sum[0]=1,sum[1]=2,sum[2]=3;
	for(i=3;i<50;i++)
		sum[i]=sum[i-1]+sum[i-2];
	while(~scanf_s("%d",&n))
		printf("%lld\n",sum[n-1]);
} 

你可能感兴趣的:(算法,数据结构,c语言,开发语言)