版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
Problem C: 求斐波那契数列的前n项值
分析
注意求和前后项的关系,随意本题采用的是代替赋值的方式,实现前后递增求和的效果。
Description
输入n,求斐波那契数列前n项的值。斐波那契数列规律如下:1, 1, 2, 3, 5, 8, 13,21, 34,55…,从第三项开始,每一项都是前面两项的和。
Input
输入正整数n。
Output
输出斐波那契数列的前n项值
Sample Input
1
3
5
8
Sample Output
1
1 1 2
1 1 2 3 5
1 1 2 3 5 8 13 21
#include<stdio.h>
int main()
{
int n,a,b,c,i;
while(scanf("%d",&n)!=EOF)
{
a=1;b=1;
if(n==1)
printf("1\n");
if(n==2)
printf("1 1\n");
if(n>=3)
printf("%d %d ",a,b);
for(i=3;i<=n;i++)
{
c=a+b;
printf("%d ",c);
a=b;b=c;
}
}
return 0;
}
总结
1、特殊值单独处理。
2、一定注意前后项关系。
3、求和用循环。
4、注意输出格式,如空格,逗号等。