C语言 铺草坪提高版

C语言 铺草坪提高版,第1张

C语言 铺草坪提高版

有一块长为n宽为2的方形草坪,现用长为2宽为1的方形草皮将其铺满,请计算共有多少种不同的铺法?

输入格式:

输入只有一个正整数n(1= 输出格式:

输出不同铺法的个数

输入样例:
3
输出样例:
3

分析:

长为n    1   2  3  4  5    6     7

个数      1   2  3  5  8   13   21

经观察可得  n与个数的规律与斐波那契数列相似,从第三项开始遵循

斐波那契数列增长速度快,用int型定义变量会越界,因此该题选用long long型定义变量

#include
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;
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4752328.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-08
下一篇 2022-11-08

发表评论

登录后才能评论

评论列表(0条)

保存