【牛刀小试4】斐波那契数
主要知识:
1. 函数
2. 递归
3. 数组
4. If语句
求斐波那契数使用了两种方法,但都使用了递归
[程序1]
说明:使用递归函数就算第N个斐波那契数。
//斐波那契数
#include <stdio.h>
int Fabonacci( int n )
{
if(n== 0 || n== 1 )
{
return1;
}
else
{
returnFabonacci( n- 1 )+ Fabonacci( n- 2 );
}
}
int main( void )
{
int n;
int num= 0;
printf( "输入要显示第几个斐波那契数: " );
scanf( "%d", &n );
num= Fabonacci( n );
printf( "第%d个斐波那契数为: %d\n", n, num );
return 0;
}
运行结果:
[程序二]
说明:使用for语句计算,存储于数组中。
//斐波那契数
#include <stdio.h>
int main( void )
{
inti;
intnum;
intarray[ 1000 ]= { 0 }; //假设只求1000个斐波那契数,并全置为0
//第一第二个数都为1
array[0 ]= 1;
array[1 ]= 1;
//求其他的数,并存入数组
//从第三个开始算
for(i= 2; i< 1000; i++ )
{
array[ i ]= array[ i- 1 ]+ array[ i- 2 ];
}
printf("输入您要显示第几个斐波那契数: " );
scanf("%d", &num );
printf("第%d个斐波那契数为:%d\n", num, array[ num ] );
return 0;
}
运行结果: (效率比较好些)
【指尖的微笑】错误在所难免,希望得到大家的指正^-^
转载时保留原文的链接http://oursharingclub.joinbbs.net和http://blog.csdn.net/mirrorsbeyourself