1,1,2,3,5,8,13,21..... 求斐波那契數列的第n個數;
求斐波那契數列的第n個數;1,1,2,3,5,8,13,21.....
PHP的寫法如下=======================================
第一個遞迴的方法如下:
function test($n) { if ($n == 1 || $n == 2) { return 1; } return test($n - 2) + test($n - 1); }
優化改進迴圈的方法:
function test2($n) { $sum = 1; $sum1 = 1; if (1 == $n) { return 1; } else if (2 == $n) { return 1; } else { for ($i = 0; $i < $n - 2; $i++) // 第三項等於前兩相加 { $tem = $sum; // tem 儲存原來的sum $sum += $sum1; // sum= 前兩項相加 $sum1 = $tem; // sum1 =原來的sum 始終保證第三項等於前兩項相加 } return $sum; } }
相關推薦
1,1,2,3,5,8,13,21..... 求斐波那契數列的第n個數;
求斐波那契數列的第n個數;1,1,2,3,5,8,13,21..... PHP的寫法如下======================================= 第一個遞迴的方法如下: function test($n) { if ($n == 1 ||
求斐波拉契數列第N項的3個寫法(JS)
題目: 求斐波拉切數列第n個數的值是多少? 數列:1,1,2,3,5,8,13,21...... 第一種,for迴圈,直接求N項 // i代表第三項,res代表第i項的時候的值,通過前面2項相加去實現,n項的時候跳出迴圈,輸出res function fb(n){ v
輸入一個數據n,計算斐波那契數列(Fibonacci)的第n個值 1 1 2 3 5 8 13 21 34 規律:一個數等於前兩個數之和。
import java.util.Scanner; /** * 輸入一個數據n,計算斐波那契數列(Fibonacci)的第n個值 1 1 2 3 5 8 13 21 34 規律:一個數等於前兩個數之和 * 計算斐波那契數列(Fibonacci)的第n個值. */ public cla
js實現斐波那契數列 0 1 1 2 3 5 8 13 21 34 。。。
斐波那契數列就是著名的兔子生兔子問題,後面一個數等於前兩個數的和 //max大於等於2的整數 function fib(max) { var t,a=0,b=1,arr = [0,1]; while (a
輸入一個數據n,計算斐波那契數列(Fibonacci)的第n個值 1 1 2 3 5 8 13 21 34 規律:一個數等於前兩個數之和。
import java.util.Scanner; /** * 輸入一個數據n,計算斐波那契數列(Fibonacci)的第n個值 1 1 2 3 5 8 13 21 34 規律:一個數等於前兩個數之和 * 計算斐波那契數列(Fibonacci)的第n個值.
斐波那契數列1 1 2 3 5 8 13 21 。。。。 求第n個數 使用遞迴實現
public class demo12 { public static void main(String[] args) {System.out.println(cp(10));} public static int cp(int n){ if(n<=0){
求斐波那契數列的第n個數;1,1,2,3,5,8,13,21.....
遞迴方法: #include<stdio.h> #include<stdlib.h> int Fibonacci_sequence(int n) { if (n == 1
一列數的規則如下: 1、1、2、3、5、8、13、21、34...... 求第30位數是多少, 用遞迴演算法實現。//斐波那契數列
1 public class MainClass 2 { 3 public static void Main() 4 { 5 Console.WriteLine(Foo(30)); 6 } 7 public static int Foo(int i) 8 {
一列數的規則如下: 1、1、2、3、5、8、13、21、34...... 求第30位數是多少, 用遞歸算法實現。//斐波那契數列
write pub else ole 位數 return spa sta ati 1 public class MainClass 2 { 3 public static void Main() 4 { 5 Console.WriteLine(F
Linux環境C語言斐波拉切數列(1,1,2,3,5,8,13,.........)實現
fib %d lse printf 黃金 oda n-2 desktop tdi 斐波那契數列(Fibonacci sequence),又稱黃金分割數列、因數學家列昂納多·斐波那契(Leonardoda Fibonacci)以兔子繁殖為例子而引入,故又稱為“兔子
Unity遞迴思想 階乘 1 1 2 3 5 8 13 和遞迴尋找子物體
遞迴的核心思想就是自己呼叫自己,只要能說出來,就能用程式碼寫出來 public int 階乘(int index) { &nbs
用java寫一個函式,實現Fibonacci數列演算法(1,1,2,3,5,8,13......)
這個演算法就是第一個數的救國是前兩個數相加, 這個還是結合例子比較好想 public class dd1 { public void getFibonacci(int number){ int nLeft = 0; int nRight = 1; System.out.pr
斐波那契數列,1.1.2.3.5.8......,輸入一個數字,比如3,顯示前面三個數字1,1,2.
int 都是 AR public 運行 sca ... 3.5 info 斐波那契數列(從第三個數字開始都是前面兩個數字的和),1.1.2.3.5.8......,輸入一個數字,比如3,顯示前面三個數字1,1,2. 1 public class practice {
斐波那契數列,1 2 3 5 8......兩種方式(JavaScript)
序列:1,2,3,5,8,13...。找出第20個數是多少?得出前20個數之和是多少? 方法一: var i=1, j=1,sum=0; for(var k=0;k<20;k++){
【hdu4549 M斐波那契數列】【矩陣快速冪】【F[n] = F[n-1] * F[n-2] ,求F[n] 】
【連結】 【題意】 F[0] = a F[1] = b F[n] = F[n-1] * F[n-2] ( n > 1 ) 給出a, b, n,求出F[n] 【分析】 寫出幾項後,發現:F[n]=a^x*b^y,x,y成斐波那契數列。 且有規律:ans=a^
1-2 斐波那契數列的和
ack rgs 原來 [] fish 一次 nbsp public string數組 import java.util.Scanner; /** * 斐波那契數列的和 * @author fish shadow * 輸入兩個正整數k1,k2(保證k1<=k2)。輸出
1.斐波那契數列
斐波那契數列,別稱黃金分割數列,兔子數列 定義:f(0) = 1,f(1) = 1,f(n) = f(n-1) + f(n-2) 例如:數列 1、1、2、3、5、8、13、21、…… #遞迴法 def fib(n): if n <= 0: return 1
[洛谷]P2626 斐波那契數列(升級版) (#數學 -1.11)
題目描述 請你求出第n個斐波那契數列的數mod(或%)2^31之後的值。並把它分解質因數。 輸入輸出格式 輸入格式: n 輸出格式: 把第n個斐波那契數列的數分解質因數。 輸入輸出樣例
Python (1) 效能試驗:斐波那契數列
def fib(k): #列印 if(k==0 or k==1): return 1 else : return fib(k-1)+fib(k-2) for x in range(60): print (x,"的Fib值是
4.1求斐波拉契數列的第N項(O(logN))
題目 給定整數N,返回斐波拉契數列的第N項。 O(2^N)的方法: /** * 暴力遞迴(O(2^N)) * * @param n 給定整數 * @return 斐波拉契數列第n項 */ public int f1(int n) { if (