斐波那契数列
斐波那契数列1
#include<cstdio>
int main()
{
int a,b,c=0,d=1;
scanf("%d",&a);
if(a>2)
{
for(int i=3;i<=a;i++)
{
b=c+d;
c=d;
d=b;
}
printf("%d",b);
}
else if(a==1)
{
printf("%d",c);
}
else if(a==2)
{
printf("%d",d);
}
return 0;
}
解析:
斐波那契数列是一个我们确定了的数列。但是他的前俩项比较特殊,所以我们用到判断语句来分析题目让我们输入到第几项。
斐波那契数列2
#include<cstdio>
int main()
{
int n;
long long a=0,b=1,s,x=0;
scanf("%d",&n);
if(n==1)
{
printf("%d\n%d",0,0);
}
else if(n==2)
{
printf("%d %d\n%d",0,1,1);
}
else if(n>2)
{
printf("%d %d ",0,1);
for(int i=3;i<=n;i++)
{
s=a+b;
a=b;
b=s;
printf("%lld ",s);
x=x+s;
}
printf("\n%lld",x+1);
}
return 0;
}
解析:
这道题比上一道题多让我们输出一个数,就是要求出前n项的和。所以我们只用在每次判断之后,多写一个输出前n项的和就好了。代码见上方。