标签:f0 f1 长为 int 提高 个数 long 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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。