遞迴法求斐波那契數
遞迴法求斐波那契數
思路分析:遞迴法最重要的兩點是:1)遞推關係:Fab(n)=Fab(n-1)+Fab(n-2);
2)出口:n=1||n=2;
程式碼:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
int Fab(int n){
//遞推關係:Fab(n)=Fab(n-1)+Fab(n-2)
//出口:n=1||n=2
if (n == 1 || n == 2){
return 1;
}
return Fab(n - 1) + Fab(n - 2);
}
int main(){
int n;
printf("請輸入n:");
scanf("%d", &n);
printf("第%d個斐波那契數是:%d", n, Fab(n));
system("pause");
return 0;
}
列印結果:
相關推薦
遞迴法求斐波那契數
遞迴法求斐波那契數 思路分析:遞迴法最重要的兩點是:1)遞推關係:Fab(n)=Fab(n-1)+Fab(n-2); 2)出口:n=1||n=2; 程式碼: #define _CRT_SECURE_NO_WARNINGS #include<stdio.h>
非遞迴方法求斐波那契數列的第n項
問題描述 第一項為0 第二項為1 ….. 第n項為前兩項之和 程式碼實現 max = int(input()) def fib(max): n,a,b=0,0,1 whi
【C語言】簡單的瞭解遞迴(求斐波那契,n的階乘,字串長度,把一個整型(無符號),轉化為字元型並打印出來)
簡單瞭解遞迴1.什麼是遞迴???程式設計程式呼叫自身的程式設計技巧稱為遞迴( recursion)遞迴做為一種演算法在程式設計語言中廣泛應用。 一個過程或函式在其定義或說明中有直接 或間接呼叫自身的一種方法,它通常把一個大型複雜的問題層層轉化為一個與原問題相似的 規模較小的問
用遞迴演算法求斐波那契數列的第N項值
#include <stdio.h> long fun(int g) { switch(g) { case 0: return 0; case 1: return 0; case 2: return 1; } return (fun(
遞迴演算法計算斐波那契數
寫遞迴要確定兩個:遞迴的終止條件;遞迴表示式。 class Program { //遞迴演算法就是自己呼叫自己 /// <summary>
用遞迴求斐波那契數
斐波那契數是第一個數和第二個數都為1,從第三個數開始,後面的是是前面相鄰兩個數的和。定義的函式如下所示: int fib(int m) { if (m == 1 || m == 2)  
遞迴和遞推演算法求斐波那契數列(Fibonacci數列)
一、遞迴演算法 import java.util.Scanner; //Fibonacci數列:1,1,2,3,5,8,... //求該數列第n個數的值。 //數列滿足遞迴公式:F1=1,F2+=1,Fn=Fn-1 + Fn-2 public class Fibonacci { pub
非遞迴求斐波那契數
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int fib(int n) { int a = 1; int b = 1; int c = 0; if (n <= 2) re
求斐波那契數的python語言實現---遞歸和叠代
put bsp print span return spa number n-2 遞歸實現 叠代實現如下: def fab(n): n1 = 1 n2 = 1 if n<1: print
HDU 1568 Fibonacci【求斐波那契數的前4位/遞推式】
urn content new targe 接下來 bsp hide 斐波那契 href Fibonacci Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other
用遞迴方法計算斐波那契數列
參考: https://blog.csdn.net/xuzhangze/article/details/78568702 波那契數列數列從第3項開始,每一項都等於前兩項之和。即 第n項的值為 (n-1) + (n-2) 例如:數列 1, 1, 2, 3, 5, 8, 13, 21
遞迴一:斐波那契數列
/** * 題目:斐波那契數列 * 描述:大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項。n<=39 * 解決方案:方法一:遞迴 * &
遞迴方法---解決斐波那契數列
遞迴方法 解決 菲波那切數列問題!!!! 3 public class Febonacci { 4 5 public static void main(String[] args) { 6 //斐波那契數列:1,1,2,3,5,8,13 7
遞迴的應用——斐波那契數列、漢諾塔(Java實現)
package ch06; public class Fibonacci { public static int getNumber(int n) { if(n == 1) { return 0; } else if(n == 2){
java:遞迴練習(斐波那契數列)
package com.heima.test; public class Test5 { public static void main(String[] args) { demo1(); System.out.println(fun(8)); } //使用陣列求斐波那契數列
Java遞迴方法算斐波那契數列的實現過程
斐波那契數列(Fibonacci sequence),又稱黃金分割數列、因數學家列昂納多·斐波那契(Leonardoda Fibonacci)以兔子繁殖為例子而引入,故又稱為“兔子數列”,指的是這樣一個數列:1、1、2、3、5、8、13、21、34、…… 比如我們想求數列的第6位的值
《劍指Offer》遞迴和迴圈--斐波那契數列
時間限制:1秒 空間限制:32768K 熱度指數:415020 題目描述 大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項(從0開始,第0項為0)。 n<=39 思路1:用遞迴 public class Solution
遞迴演算法實現斐波那契數列
假定兔子在出生兩個月後,就有繁殖能力,一對兔子每個月能生出一對小兔子來。如果所有兔子都不死,那麼一年以後可以繁殖多少對兔子? 這就是著名的斐波那契數列,也稱作兔子數列。 一、問題分析 剛開始,有1對幼兔,兔子總對數為1; 經過一個月後,幼兔長為小兔,兔子總對數為1
【遞迴演算法】 斐波那契數列的備忘錄優化
遞迴演算法之斐波那契數列的優化 閒來無事嘗試了一下斐波那契的遞迴演算法 遞迴的斐波那契數列的演算法的效率驚人的低 得到43個數據需要8秒鐘 而優化過帶備忘錄的斐波那契數列,只需要0.2秒就可以打出64個數據 2秒可打出1000個 說明了線性
使用棧(非遞迴方法)解決斐波那契數列問題
解決斐波那契數列問題可以使用遞迴,迭代,以及使用棧等方法,下面講述使用棧的方法。 首先,我們從數列的遞迴呼叫樹就可以發現一些資訊。 要求第n個斐波那契數,就要向左下和右下走兩步。所以使用結構體,其中