C语言 铺草坪提高版
作者:互联网
有一块长为n宽为2的方形草坪,现用长为2宽为1的方形草皮将其铺满,请计算共有多少种不同的铺法?
输入格式:
输入只有一个正整数n(1=<n<=90),代表草皮的长度。
输出格式:
输出不同铺法的个数。
输入样例:
3
输出样例:
3
分析:
长为n 1 2 3 4 5 6 7
个数 1 2 3 5 8 13 21
经观察可得 n与个数的规律与斐波那契数列相似,从第三项开始遵循
斐波那契数列增长速度快,用int型定义变量会越界,因此该题选用long long型定义变量
#include<stdio.h>
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;
}
标签:f0,f1,长为,int,提高,个数,long,C语言,草坪 来源: https://blog.csdn.net/LIUFANGYU1/article/details/120931400