Pertemuan sempurna antara PHP dan jujukan bahagian emas (tidak boleh dilepaskan)

青灯夜游
Lepaskan: 2023-04-10 13:02:01
asal
2829 orang telah melayarinya

Dalam kehidupan, perkara yang kita bezakan sebagai indah dengan mata kasar selalunya secara ajaib mengandungi nisbah emas Pada masa ini, kita perlu mengeluh: keindahan matematik ada di mana-mana. Had nisbah antara sebutan terakhir dan sebutan sebelumnya bagi jujukan bahagian emas (juga dikenali sebagai jujukan Fibonacci) ialah punca dua setengah tolak satu, iaitu lebih kurang sama dengan 0.618 (iaitu nisbah bahagian emas). Jadi bagaimana untuk melaksanakan jujukan bahagian emas menggunakan PHP Jangan risau, mari luangkan masa untuk memahami.

Pertama sekali, mari kita lihat Jujukan Bahagian Emas (iaitu Jujukan Fibonacci):

Jujukan Fibonacci merujuk kepada A ini turutan:

1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765....

iaitu dua nilai pertama: . Bermula dari digit ketiga, setiap digit ialah hasil tambah dua digit pertama digit semasa

Formula biasa ialah:

Fn = F(n-1) F(n 1 )

  • F: merujuk kepada jujukan semasa

  • n: subskrip lajur eksponen

Baiklah, selepas memahami urutan bahagian emas (jujukan Fibonacci), mari kita lihat cara melaksanakannya menggunakan PHP.

Kaedah 1: Gunakan tatasusunan

untuk memerhati urutan yang diberikan di atas dan menggabungkannya dengan pengetahuan tatasusunan untuk menganalisis:

  • Apabila subskrip tatasusunan ialah 0 atau 1, nilai elemen ialah 1;

  • Apabila subskrip tatasusunan ialah 2, elemen ialah a[0] a[1];

  • Apabila subskrip tatasusunan ialah 3, elemennya ialah
  • ;

    a[1] a[2]

  • ....
  • tatasusunan Apabila subskrip ialah n, elemennya ialah
  • a[n-2] a[n-1];

  • dan kita boleh mendapatkan:

  • a[0]=1

  • a[1]=2

  • (n>2)

    a[n]=a[n-2] a[n-1]

  • Pelaksanaan kod:

Output:
<?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);
?>
Salin selepas log masuk

Pertemuan sempurna antara PHP dan jujukan bahagian emas (tidak boleh dilepaskan) Memandangkan kita telah mempelajari cara menggunakan tatasusunan untuk mencari jujukan Fibonacci, mari kita lihat menggunakan rekursi untuk mencari jujukan Fibonacci.

Kaedah 2: Menggunakan rekursi

Output:
<?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);
?>
Salin selepas log masuk


Pertemuan sempurna antara PHP dan jujukan bahagian emas (tidak boleh dilepaskan)Kaedah rekursif ialah juga dilaksanakan Ia sudah keluar, bukankah ia sangat mudah!

Algoritma rekursif boleh menyelesaikan masalah yang bertanggungjawab menggunakan kod yang lebih pendek, tetapi kecekapan operasinya agak rendah.

Itu sahaja jika anda ingin mengetahui perkara lain, anda boleh klik ini. → →

tutorial video php

Atas ialah kandungan terperinci Pertemuan sempurna antara PHP dan jujukan bahagian emas (tidak boleh dilepaskan). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!