其他分享
首页 > 其他分享> > C语言 铺草坪提高版

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