路漫漫其修远兮,吾将上下而求索 - 百度文库
程序源码:
/*斐波那契数列的递归与非递归算法实现方法*/
/*数列形式为:F0=1,F1=1,F2=2,F3=3,F4=5,F5=8,……,Fi=F(i-1)+F(i-2)。*/
#include <stdio.h>
#include <time.h>
long Fib_ite(int n)
{
long fib1,fib2,fib;
int i;
fib1=1;
fib2=1;
fib=1;
for(i=2;i<=n;i++)
{
fib=fib1+fib2;
fib1=fib2;
fib2=fib;
}
return (fib);
}
long Fib_rec(int n)
{
if(n<2) return(1);
else
return(Fib_rec(n-2)+Fib_rec(n-1));
}
void main()
{
int i;
clock_t time0,time1;double time;
float n;
printf("输入正整数 n=");
scanf("%f",&n);
if(n==(int)n)
{
time0=clock();
printf("非递归算法输出结果 F%d=%ld",(int)n,Fib_ite(n));
for(i=0;i<=n;i++)
{
printf("F%d=%ld ",i,Fib_ite(i));
}
printf("");
1