迭代 遞迴解決斐波納挈數列問題

2021-06-22 13:16:17 字數 1164 閱讀 7401

<?php

/** * @param $n int 第n項

* * @return int 第n項的值

*/function f($n) elseif ($n == 2)

//計算第$n項,從第三項開始,到第$n項,逐一計算

for($i=3; $i<=$n; ++$i)

return $now;

}echo f($_get['n']);

//echo f(2);

//echo '

';//echo f(5);

//echo '

';//echo f(10);

<?php

//遞迴的方案解決斐波納挈數列

/** * @param $n int 第n項

* * @return int 第n項的值

*/function f($n) elseif ($n == 2)

//利用公式完成

//遞迴點,每項前兩項之和

return f($n-1) + f($n-2);

}echo f($_get['n']);

//echo f(5);//5

//f(5) = return f(4) + f(3);

// = return (return f(3) + f(2)) + f(3);

// = return (return (return f(2) + f(1)) + f(2)) + f(3);

// = return (return (return 1 + f(1)) + f(2)) + f(3);

// = return (return (return 1 + 1) + f(2)) + f(3);

// = return (return 2 + 1) + f(3);

// = return 3 + (return f(2) + f(1));

// = return 3 + (return 1 + f(1));

// = return 3 + (return 1 + 1);

// = return 3 + 2;

// = return 5;

////echo '

';//echo f(10);//55

斐波納挈數列

有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問第二十個月的兔子對數為多少?package ren.redface.demo 古典問題 有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死...

斐波納契數列的遞迴和非遞迴(迭代)演算法

查詢斐波納契數列中第 n 個數。所謂的斐波納契數列是指 斐波納契數列的前10個數字是 0,1,1,2,3,5,8,13,21,34 演算法實現 package project public class fibonacci 非遞迴 迭代 兩種都可以,空間複雜度為常數 public int fibite...

演算法之斐波納契數列遞迴和迭代實現

在數學上,斐波納契數列以如下被以遞迴的方法定義 f 0 0,f 1 1,f n f n 1 f n 2 n 2 迭代的實現 s 0 0 s 1 1 for i 2 i 100 i var dump s 遞迴實現 function fib i return fib i 1 fib i 2 var du...