#include <stdio.h>
int fib_rec( int n )
{
if(n==0||n==1)return 1;
else return fib_rec(n-1)+fib_rec(n-2);
}
int fib_iter( int n )
{
int i=2;
int num=0;
if(n<2)return 1;
int head=1,hair=1;
for(;i<=n;i++){
num=head+hair;
hair=head;
head=num;
}
return num;
}
int feibo(int n){
int i,ret;
int *f=new int[n+1];
f[0]=1;
f[1]=1;
for(i=2;i<=n;i++){
f[i]=f[i-2]+f[i-1];
ret =f[i];
}
delete[]f;
return ret;
}
int main( void )
{
int i;
for( i = 0; i < 15; i++ ){
printf( "fib_rec( %d ) = %d\n", i, fib_rec( i ) );
printf( "fib_iter( %d ) = %d\n", i, fib_iter( i ) );
printf( "feibo( %d ) = %d\n", i, feibo( i ) );
}
return 0;
}
初学C#斐波那契三解
最新推荐文章于 2024-04-28 22:56:44 发布