【9401】斐波那契数列
Time Limit: 10 second
Memory Limit: 2 MB
问题描述
斐波那契数列0,1,1,2,3,5,8,13,21,34,55...从第三项起,每一项都是紧挨着的前两项的和,写出计算斐波那契数列任意一个数据项的递归程序。
Input
输入格式
Output
数据项的值
Sample Input
10
Sample Output
34
【题解】
让a = 0,b = 1,如果n <=2 则要进行特判。佛则 直接累加到c,然后a = b,b =c,这样就可以了。最后输出c
【代码】
#include <cstdio>
#include <stdlib.h>
int n,a,b,c;
void input_data()
{
scanf("%d",&n);
}
void get_ans()
{
a = 0;
b = 1;
if (n == 1) //这里进行n = 1和n = 2的特判
{
printf("%d",a);
exit(0);
}
if (n == 2)
{
printf("%d",b);
exit(0);
}
for (int i = 3;i <= n;i++) //如果大于3 则进行迭代。最后输出c
{
c = a + b;
a = b;
b = c;
}
printf("%d",c);
}
int main()
{
input_data();
get_ans();
return 0;
}

浙公网安备 33010602011771号