1. 程式人生 > >利用遞迴計算Fibnacci數列,並輸出第20個Fibnacci數

利用遞迴計算Fibnacci數列,並輸出第20個Fibnacci數

//在數學上,斐波納契數列(Fibnacci)被以如下遞迴的方法定義:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)
#include <iostream>

using namespace std;
int fib(int n);
int main()
{
    cout<<fib(20)<<endl;
    return 0;
}
int fib(int n)
{
    int fibnacci;
    if((n==0)||(n==1))
    {
        fibnacci=n;
    }
    else
    fibnacci=fib(n-1)+fib(n-2);
    return fibnacci;
}


執行結果:

相關推薦

利用計算Fibnacci數列輸出20Fibnacci

//在數學上,斐波納契數列(Fibnacci)被以如下遞迴的方法定義:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*) #include <iostream> using namespace std; int fib(int n

Java發實現Fibonacci數列實現Fibonacci數列獲取計算所需時間

遞迴法計算Fibonacci數列: 它可以遞迴地定義為: 第n個Fibonacci數列可遞迴地計算如下: int fibonacci(int n)    {        if (n <= 1) return 1;        return fibon

php 高效、非迴圈所有下級將結果存為一維陣列

1.取出所有資料 public function teammember($id){ $next = pdo_fetchall("select id,openid,agentid from ".tablename("ewei_shop_member")."

利用函式呼叫方式將所輸入的5字元以相反順序打印出來

#include<stdio.h> int main() { void dg(char a[],int x); char a[5]; gets(a); dg(a,5); printf("\n"); return 0; } void dg(char a[5],in

28、利用計算自然數 n 的階乘

// 利用遞迴計算自然數 n 的階乘 #include<stdio.h> long f( int n) { long result; if(n>1) {

linux下c語言法查詢檔案列印絕對地址

c語言遞迴法查詢指定目錄下的檔案或目錄   本程式碼是個人學習過程中寫下的小練筆,如果您發現問題,歡迎指正。 編譯環境:linux+gcc, windows下尚未測試 #include<stdio.h> #include<string.h> #inc

實驗三:分別用forwhile;do-while循壞語句以及歸的方法計算n!輸出算式。

分享圖片 return 方法 gui rgs class ima n! 用法 源代碼: package jiecheng;import java.util.Scanner;public class JieCheng { public st

實驗三:分別用for、while和do-while循環語句以及歸方法計算n!輸出算式

scanner bsp ret while 循環語句 rda font ips == 實驗三:分別用for、while和do-while循環語句以及遞歸方法計算n!,並輸出算式 //用for循環語句求n! Public class jiecheng { Public

利用方法實現連結串列反轉、前N節點反轉以及中間部分節點反轉

### 一、反轉整個連結串列 **問題**:定義一個函式,輸入一個連結串列的頭節點,反轉該連結串列並輸出反轉後連結串列的頭節點。 **示例:** ```java 輸入: 1->2->3->4->5->NULL 輸出: 5->4->3->2->1-&g

Spring Boot中利用演算法查詢到所有下級使用者手動進行分頁

Spring Boot中利用遞迴演算法查詢到所有下級使用者,並手動進行分頁 前提:語言用的是kotlin(和Java一樣,但更簡潔),寫下這篇文章用來記錄程式設計過程中遇到的一些難點 1、功能需求 前端使用者A點選“我的推薦”後,呼叫後臺的介面,查詢到所有的下家(不僅包括直接下家) 如圖所示,當前使

面試題-使用計算11235這樣的佇列的100個數

面試了幾家公司,寫了好幾遍這個題,才發現這個題答錯了。 正確的應該時候這樣的,記下來把。。。  int sum (int x) {    if(x==1|| x==2)       return 1;   els

【資料結構週週練】016 利用演算法及孩子兄弟表示法建立樹、遍歷樹求樹的深度

一、前言 從今天起,就給大家分享一些樹的程式碼啦,不僅僅是二叉樹,我們要弄明白,普通的樹用資料結構怎麼儲存,它有哪些操作,它可以實現哪些功能? 可能大家要問了,二叉樹不是還沒有寫完嗎,線索二叉樹呢?二叉排序樹呢?平衡二叉樹呢?大家不要急,我們通過二叉樹來入門樹的演算法及程式碼實現,然後學

【資料結構週週練】015 利用演算法建立鏈式儲存的二叉樹轉換左右孩子結點

一、前言 哈哈,今天就是程式設計師節啦,祝大家1024程式設計師節快樂。 今天要給大家分享的演算法是交換二叉樹是的左右孩子結點,比較簡單,需要建立一個結點用來暫存左孩子結點,下面給大家送上程式碼。 二、題目 將下圖用二叉樹存入,並交換二叉樹是的左右孩子結點。其中圓角矩形內為結點資

利用棧實現函式的非計算

題目描述: 棧的實現及棧的基本操作: #include "stdafx.h" #include<stdio.h> #include<stdlib.h> #include<

實現Fibonacci數列N元素的計算

1.1 演算法設計思想   無窮數列1,1,2,3,5,8,13,21,34,55,…,被稱為Fibonacci數列。數列遞迴關係式說明當n大於1時,數列的第n項的值是它前面的兩項之和。它用兩個較小的自變數的函式值來定義較大自變數的函式值,所以需要兩個初始值F(0)和F(1

【資料結構週週練】017 利用演算法及孩子兄弟表示法建立森林、遍歷森林求森林的葉子結點個數

 一、前言 從昨天起,就給大家分享一些樹和森林的程式碼啦,昨天分享的是求樹的深度,今天要給大家分享的是森林的遍歷以及求葉子的個數。 對於森林,大家可以做這樣的理解,一個深度大於1,根節點子樹個數大於1的樹去掉根節點,就是森林。森林中每棵樹的根節點再建立一個共同的雙親結點,

JavaScript 計算n的階乘 菲波那切數列

// n的階乘 function mul(n) { // 出口 if(n == 1 || n == 0){ return 1; } //規律 return n * mul(n - 1); } // 遞迴的效率最慢 少用。 // 遞迴的好處 程

建立有向圖的鄰接表深度優先遍歷和廣度優先遍歷的與非演算法判斷是否是有向無環圖輸出一種拓撲序列

/*(1)輸入一組頂點,建立有向圖的鄰接表,進行DFS(深度優先遍歷)和BFS(廣度優先遍歷)。 寫出深度優先遍歷的遞迴和非遞迴演算法。 (2)根據建立的有向圖,判斷該圖是否是有向無環圖,若是,則輸出其一種拓撲有序序列。*/ #include<stdio.h>

計算指定目錄下的檔案及檔案總個數,封裝為ztree物件資料

最近參與的專案要求將指定目錄下的檔案及檔案個數通過遞迴演算法計算出來,並封裝轉換為前端ztree格式物件顯示結果。後臺主要邏輯實現,提供資料和資料模型,前端轉換封裝需要的物件資料格式。部分程式碼下面貼出來,僅供參考,請多指正! 一、controller程式碼: L