有一块长为n宽为2的方形草坪,现用长为2宽为1的方形草皮将其铺满,请计算共有多少种不同的铺法?
输入格式:输入只有一个正整数n(1= 输出不同铺法的个数。 分析: 长为n 1 2 3 4 5 6 7 个数 1 2 3 5 8 13 21 经观察可得 n与个数的规律与斐波那契数列相似,从第三项开始遵循 斐波那契数列增长速度快,用int型定义变量会越界,因此该题选用long long型定义变量 #include 欢迎分享,转载请注明来源:内存溢出3
输出样例:
3
int main()
{
long long n;
scanf("%lld",&n);
if(n<=2)printf("%lld",n);
long long f0=1,f1=2,f;
if(n>2){
for(int i=3;i<=n;i++){
f=f1+f0;
f0=f1;
f1=f;
}
printf("%lld",f);
}
return 0;
}
评论列表(0条)