【牛刀小试4】斐波那契数

【牛刀小试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.nethttp://blog.csdn.net/mirrorsbeyourself

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值