從算法學起C語言 費氏數列

2021-06-28 10:40:37 字數 1335 閱讀 1518

背景說明:

fibonacci為2023年代的歐洲數學家,在他的著作中曾經提到:若有乙隻兔子每個月生乙隻小兔子,乙個月後小兔子也開始生產,起初只有乙隻兔子,乙個月後就有兩隻兔子,兩個

月後就有3只兔子,三個月後就有五隻兔子(小兔子開始投入生產)......

大**白話文:

找規律並求函式表示式:1,1,2,3,5,8,13,21,34,55,89......

解:問題混合起來比較煩人,ok,分開看.每只兔子都按同乙個規律走,出生ing(0個月),成長ing(1個月),生兔子ing(開始投入生產).把這一規律總結下,設為f(x).那麼,當x為0和1的時候,可以列出如下表示式:

f(x) = x;   x = 0,1.這個表示式就表示乙隻兔子出生後的前兩月,它所代表的兔子數量.那麼在分析2個月以後的那些風花雪月的事.

第二個月,兔子數量是當前的兔子數量+生產的兔子數量.f(x-1)表示當前的兔子數量,在我們的表示式中,我們定義了0個月這個未出生的數量,那麼乙個兔子如果想要生產,至少要經過0,1這兩個月,所以把f(x-2)作為生產的兔子數量.如果還不理解,這樣看,假設第二個月,f(2),那麼上個月的兔子數量就是f(1)即為1,生產的兔子數量就是f(0),即沒有生產(2個月以前這只兔子還木有出生,還在出生ing中).f(3)表示第三個月的兔子數量,上個月的兔子數量f(2)剛才以求得是1,然後這個月這只兔子開始生產,即f(1) = 1,那麼f(3)就是2.

總結歸納表示式:

嘗試寫**:

先寫f(x) = x的情況:

fib[0] = 0;

fib[1] = 1;

然後寫f(x) = f(x-1) + f(x-2);的情況:

fib[i] = fib[i-1] + fib[i-2];
那麼x的值是未知的,所以改造下:

for(i = 2;i < n ; i++)

fib[i] = fib[i-1] + fib[i-2];

然後加上main函式作為入口:

完美執行~~!

從算法學起C語言 老鼠走迷宮

背景說明 老鼠走迷宮是遞迴求解的基本問題,我們在二維陣列中用2表示迷宮牆壁,使用1來表示老鼠走過的路徑,求出由入口到出口的路徑。大 白話文 有迷宮擋在了你和妹子 帥哥中間,自己看著辦吧。首先列印個小迷宮看看 全封閉?no!我們去掉最右邊和最底下的一行,只要這個7 7方陣,外邊包起來主要是看路徑的時候...

C 經典演算法題 費式數列

fibonacci為1200年代的歐洲數學家,在他的著作中曾經提到 若有乙隻免子每個月生乙隻小免 子,乙個月後小免子也開始生產。起初只有乙隻免子,乙個月後就有兩隻免子,二個月後有三隻免子,三個月後有五隻免子 小免子投入生產 如果不太理解這個例子的話,舉個圖就知道了,注意新生的小免子需乙個月成長期才會...

c 斐氏數列 語言 C語言基礎知識 三

1.演算法的基本概念和評價 1.1 基本概念 演算法 algorithm 就是指對解題方案準確而又完整的描述,是一系列解決問題的清晰指令.1.2 評定標準 1 時間複雜度 重點關注 主要用於描述演算法的時間消耗和問題規模的函式關係,常數級的時間複雜度 線性關係的時間複雜度 平方級的時間複雜度.2 空...