zoukankan      html  css  js  c++  java
  • 斐波那契数列

    递归指的是在函数的定义中使用函数自身的方法。

    举个例子:
    从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?"从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?'从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?……'"

    题目:写一个函数,输入n,求斐波那契(Fibonacci)数列的第n项。斐波那契数列的定义如下: 

                                  

    #include<stdio.h>
    int fibonaic(int i){
        if(i==1)
        {
            return 0; 
        }
        if(i==2)
        {
            return 1;
        }
        else  return fibonaic(i-1)+fibonaic(i-2);   //递归调用fiboanic算法
            
        } 
    
    int main(){
        int i;
        printf("请输入第i项斐波那契数:"); 
        scanf("%d",&i);
        
            printf("%4d
    ",fibonaic(i));
    }

     运行结果

    通过分析第10项来描述算法流程

    在这棵树中有很多结点是重复的,而且重复的结点数会随着n的增大而急剧增加,这意味计算量会随着n的增大而急剧增大。事实上,用递归方法计算的时间复杂度是以n的指数的方式递增的

    打印出前10项斐波那契数列:

    #include<stdio.h>
    int fibonaic(int i){
        if(i==1)
        {
            return 0; 
        }
        if(i==2)
        {
            return 1;
        }
        else  return fibonaic(i-1)+fibonaic(i-2); 
            
        } 
    
    int main(){
        int i,n;
        printf("请输入前n项斐波那契数:"); 
        scanf("%d",&n);
        for(i=1;i<=n;i++)
        {
        
            printf("%2d
    ",fibonaic(i));
        }
    }

  • 相关阅读:
    Postfix邮件服务器搭建及配置
    利用linux漏洞进行提权
    NFS部署和优化
    LAMP环境搭建
    Apache2.4.6服务器安装及配置
    linux笔记_防止ddos攻击
    CentOS6.5恢复误删除的文件
    linux计划任务
    linux软连接和硬链接
    linux用户和用户组的基本操作
  • 原文地址:https://www.cnblogs.com/laurarararararara/p/11239330.html
Copyright © 2011-2022 走看看