Kaedah pelaksanaan: 1. Gunakan tatasusunan untuk mencari, sintaks "for($i=0;$i
Persekitaran pengendalian tutorial ini: sistem windows7, versi PHP8, komputer DELL G3
Nombor Fibonacci adalah Apakah
Jujukan Fibonacci, juga dikenali sebagai jujukan bahagian emas, kerana ahli matematik Leonardoda Fibonacci menggunakan pembiakan arnab sebagai contoh Ia diperkenalkan, jadi ia juga dipanggil "jujukan arnab", yang merujuk kepada urutan sedemikian:
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765.......
Iaitu: dua nilai pertama adalah kedua-duanya 1, bermula dari digit ketiga, setiap digit ialah semasa Jumlah dua digit pertama
Dalam matematik, jujukan Fibonacci ditakrifkan secara rekursif seperti berikut:
F(1)=1,F(2)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 3,n ∈ N*)
F: merujuk kepada jujukan semasa
n: subskrip lajur eksponen
Baiklah , Selepas memahami jujukan Fibonacci, mari kita lihat bagaimana untuk melaksanakannya menggunakan PHP.
Kaedah 1: Gunakan tatasusunan
untuk memerhati urutan yang diberikan di atas, digabungkan dengan pengetahuan tatasusunan, anda boleh menganalisis:
Apabila subskrip tatasusunan ialah 0 atau 1, nilai elemen ialah 1
; elemen ialah
;
Apabila subskrip tatasusunan ialah 3, elemen itu ialah a[0]+a[1]
;
....a[1]+a[2]
Ia boleh disimpulkan: a[n-2]+a[n-1];
a[0]=1
a[1]=2
(n>2)
Pelaksanaan kod: a[n]=a[n-2]+a[n-1]
<?php header("Content-type:text/html;charset=utf-8"); function test($num){ $arr=[]; for($i=0;$i<$num;$i++) { if($i==0 || $i==1){ $arr[$i]=1; }else{ $arr[$i]=$arr[$i-1]+$arr[$i-2]; } echo $arr[$i]." "; } } echo "斐波那契数列前10位:"; test(10); echo "<br>斐波那契数列前11位:"; test(11); echo "<br>斐波那契数列前12位:"; test(12); ?>
Sekarang kita telah mempelajari cara menggunakan tatasusunan untuk mencari jujukan Fibonacci, mari kita ambil lihat menggunakan rekursi untuk mencari jujukan Fibonacci.
Kaedah 2: Menggunakan rekursiOutput:
<?php header("Content-type:text/html;charset=utf-8"); function fbnq($n) { if ($n <= 0) { return 0; } if ($n == 1 || $n == 2) { return 1; } return fbnq($n - 1) + fbnq($n - 2); } echo "斐波那契数列第10位:" . fbnq(10); echo "<br>斐波那契数列第11位:" . fbnq(11); echo "<br>斐波那契数列第12位:" . fbnq(12); ?>
Kaedah rekursif juga telah dilaksanakan, bukankah ia sangat mudah!
Algoritma rekursif boleh menyelesaikan masalah yang bertanggungjawab menggunakan kod yang lebih pendek, tetapi kecekapan operasinya agak rendah.
Pembelajaran yang disyorkan: "Tutorial Video PHP
"Atas ialah kandungan terperinci Bagaimana untuk melaksanakan jujukan Fibonacci menggunakan php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!