1. 程式人生 > >斐波那契數列Python實現

斐波那契數列Python實現

def fbi(n):
    s1 = 1
    s2 = 1
    if(n<=0):
        return -1
    else:
        if( n==1 | n==2):
            return 1
        else:
            for num in range(2, n):  
                s2 = s1+s2
                s1 = s2-s1
            return s2


print(fbi(9))

時間複雜度為o(n),空間複雜度為o(1),用的是迭代法想加

相關推薦

數列Python實現

def fbi(n): s1 = 1 s2 = 1 if(n<=0): return -1 else: if( n==1 | n==2): return 1 else

遞歸總結及數列實現

其中 文件 main 應用 殺毒 個數 std bsp 理解 優點:遞歸給某些編程問題提供了簡單的方法 缺點:有缺陷的遞歸會很快耗盡計算機的資源,遞歸的程序難以理解和維護 殺毒軟件會全盤掃描文件,其中就應用了遞歸 斐波那契數列的實現如下 #include<stdio

數列實現

cci || clu include cst eof style span def C/C++非遞歸實現: #include<cstdio> #include<iostream> using namespace std; int fibonacc

數列實現算法

spa 存在 例子 .com 例如 ccid demo1 並不是 基礎 最近在看算法方面的書籍,看到了一個很古老的問題-斐波那契數列,這個題目在大學的時候肯定接觸過,我們還在考試中考過,但是只是局限於當時課本上的內容,並沒有仔細的考慮過這個題目的實現方法,今天就來小小的探究

數列Python和Java

Fibonacci sequence python 遞迴 非遞迴 Java 遞迴 斐波那契數列前30項 1 1 2 3 5 8 13 21 34 55 89 144 233 377 61

數列簡單實現

斐波那契數列又稱黃金分割數列、因數學家列昂納多·斐波那契(Leonardoda Fibonacci)以兔子繁殖為例子而引入,故又稱為“兔子數列”。在數學上,斐波納契數列以如下被以遞迴的方法定義:F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)。 @Test p

Java遞迴方法算數列實現過程

斐波那契數列(Fibonacci sequence),又稱黃金分割數列、因數學家列昂納多·斐波那契(Leonardoda Fibonacci)以兔子繁殖為例子而引入,故又稱為“兔子數列”,指的是這樣一個數列:1、1、2、3、5、8、13、21、34、…… 比如我們想求數列的第6位的值

數列Fibonacci實現(遞迴、尾遞迴、迴圈)

一、遞迴 簡單的來說遞迴就是一個函式直接或間接地呼叫自身,是為直接或間接遞迴。 遞迴一般用於解決三類問題:   (1)資料的定義是按遞迴定義的。(Fibonacci函式,n的階乘)   (2)問題解法按遞迴實現。(回溯)   (3)

數列實現(c語言)

非遞迴實現: 核心思想: f(1) = f(2) = 1; f(n) = f(n-1) + f(n-2); #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> int f

JAVA 遞迴與非遞迴數列實現

今天練習時碰到斐波那契數列,迴圈和遞迴的程式碼分別統計了一下執行時間。遞迴還是相當慢的。找了一篇介紹比較詳細的博文,閒暇時可以再看看。 連結package exrcise; public class Demo1 { public static void main(Str

數列 Java實現

① public class Demo{ public static void main(String[] args) { System.out.println(fibonacci(100)); } public

數列迴圈實現

題目描述 大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項。 n<=39 解題思路 f(n)=f(n-1)+f(n-2) 思路1:遞迴實現會進行大量的重複計算

python實現數列筆記

log 得到 while span style mage lis nbsp images 斐波那契數列即著名的兔子數列:1、1、2、3、5、8、13、21、34、…… 數列特點:該數列從第三項開始,每個數的值為其前兩個數之和,用python實現起來很簡單: a=0 b=1

Python 遞歸實現數列

斐波那契數列Python 遞歸實現斐波那契數列def fab(n): if n==1 or n==2: return 1 else: return fab(n-1)+fab(n-2)num=int(input(‘請輸入數字:‘))result=fab(num)print

python實現數列

定義函數 實現 python實現 code while 斐波那契數列 數列 int a+b 斐波那契數列 1, 1, 2, 3, 5, 8, 13, 21, 34, ... 除第一項和第二項外,任意一項的值為前面兩項的和 定義函數 def fib(N): n,a,b

python代碼實現數列數列

nbsp cci con 數學家 color span 分割 兔子 簡單 斐波那契數列(Fibonacci sequence),又稱黃金分割數列、因數學家列昂納多·斐波那契(Leonardoda Fibonacci)以兔子繁殖為例子而引入,故又稱為“兔子數列”,

python實現數列 用遞迴實現求第N個菲數列

斐波那契數列即著名的兔子數列:1、1、2、3、5、8、13、21、34、…… 數列特點:該數列從第三項開始,每個數的值為其前兩個數之和,用python實現起來很簡單: a=0 b=1 while b < 1000: print(b) a, b = b, a+b

python學習(十七)——補充內建函式、使用迭代器協議實現數列、描述符、pycharm的問題

一、補充內建函式 #--------------------------isinstance/isinbclass-------------- class Foo: pass class Bar(Foo): pass b1=Bar() print(isinstance(b1,

Python每日一題:第4題:用Python實現數列

這是Python之禪和他朋友們在知識星球的第4題:用Python實現斐波那契數列 斐波那契數列(Fibonacci)最早由印度數學家Gopala提出,而第一個真正研究斐波那契數列的是義大利數學家 Leonardo Fibonacci,斐波那契數列的定義很簡單,用數學函式可表示為: 數列從0

Python中幾種常見方法實現數列

Python常見斐波那契解決方案 n=35 #1.遞迴求斐波那契 def fibo(n): return 1 if n<3 else fibo(n-1)+fibo(n-2) print(fibo(n)) #2.迴圈求斐波那契 f1,f2=0,1 for i