一、列出fibonacci數列的前n個數
usingsystem;
using
system.collections.generic;
using
system.linq;
using
system.text;
namespace
fibonacci
/*需求:列出fibonacci數列的前n個數
*///
方案一:迭代n次,一次計算一項
public
static
void cal(int
n)
else
if (i == 2
)
else}}
//方案二:迭代n/2次,一次計算兩項
public
static
void cal2(int
n)
}
二、求出fibonacci數列第n個數字(遞迴)
namespacefibonacci
",f(integer));
}/*需求:求出fibonacci數列第n個數字
*///遞迴
public
static
int f(int
n)
}}
三、古典問題:有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?
問題分析:其兔子數目依舊是按1,1,2,3,5…的順序進行排列。其本質仍為斐波那契數列。
解決:按照一中的方案二進行即可。
namespacefibonacci "
,f1,f2);
console.write(""
);
if (i%2==0
) console.writeline("\n
");f1 = f1 +f2;
f2 = f2 +f1;}}
}}
若後續有相關問題,餘則繼續補充。
願諸位朋友及時指正!
斐波那契Fibonacci 演算法優化
方法一 遞迴法 int fib int n 遞迴法的時間複雜度為o 2 n 遞迴演算法的程式看上去很簡潔,但實際上執行起來卻不如此,深度的遞迴會占用很多棧空間,容易造成溢位。另外在遞迴計算fibonacci數列過程中有很多重複計算。比如,計算f 5 需要計算f 4 f 3 計算f 4 時又要計算一遍...
斐波那契 Fibonacci 數列
實踐證明,尾遞迴 確實比普通遞迴效率高。下面的例子 用 普通遞迴需要10s完成 而用尾遞迴,只用了1s不到 package com.zf.dg 題目 有一種母牛,出生後第三年,開始生育,每年都生一頭 母牛 貌似單性生育,這裡就沒公牛什麼事兒 生出來的小母牛也符合同樣的規律,出生後第三年,開始生 育,...
Fibonacci 斐波那契數列
一 介紹 在數學上,費波那契數列是以遞迴的方法來定義 0 f 0 1 f 1 f f f f f n 2 用文字來說,就是費波那契數列由0和1開始,之後的費波那契係數就是由之前的兩數相加而得出。首幾個費波那契係數是 0,1,1,2,3,5,8,13,21,34,55,89,144,233 oeis中...