解题思路:用递归法求解斐波拉契数列:设f0、f1、f2是数列中的3个数,观察可知:f2=f1+f0,在循环计算过程中,使f1,f2指向两个相邻的数,f2始终为新计算出的和值。
注意事项:
参考代码:
#include<stdio.h>
int main()
{
int i;
long int n,f0=1,f1=1,f2;
scanf("%ld",&n);
if(n==1)
printf("%ld",f0);
if(n>=2)
printf("%ld %ld",f0,f1);
if(n>1&&n<=40)
{
for(i=3;i<=n;i++)
{
f2=f1+f0;
printf(" %ld",f2);
f0=f1;
f1=f2;
}
}
return 0;
}
0.0分
0 人评分
简单编码 (C++代码)(这里推荐用switch)浏览:959 |
逆反的01串 (C++代码)(依旧推荐switch)浏览:933 |
C语言训练-排序问题<2> (C++代码)(sort函数)浏览:1571 |
模拟计算器 (C语言代码)浏览:880 |
C语言训练-排序问题<2> (C++代码)浏览:879 |
最长单词 (C语言代码)浏览:1362 |
【出圈】 (C语言代码)浏览:794 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:850 |
C语言程序设计教程(第三版)课后习题6.8 (C语言代码)浏览:763 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:694 |