Maison > développement back-end > Problème PHP > Comment implémenter la séquence de Fibonacci en utilisant php

Comment implémenter la séquence de Fibonacci en utilisant php

青灯夜游
Libérer: 2023-03-17 22:24:01
original
4650 Les gens l'ont consulté

Méthode d'implémentation : 1. Utilisez un tableau pour rechercher, syntaxe "for($i=0;$i

Comment implémenter la séquence de Fibonacci en utilisant php

L'environnement d'exploitation de ce tutoriel : système Windows 7, version PHP 8, ordinateur DELL G3

Que sont les nombres de Fibonacci

La séquence de Fibonacci, également connue sous le nom de séquence du nombre d'or, introduite par le mathématicien Leonardo Fibonacci utilisant l'exemple de la reproduction du lapin, on l'appelle aussi la « séquence du lapin », qui fait référence à une telle séquence :

1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765.......
Copier après la connexion

C'est-à-dire : les deux premières valeurs sont toutes 1, à partir du troisième chiffre, chaque chiffre est la somme des deux chiffres précédents du chiffre courant

Comment implémenter la séquence de Fibonacci en utilisant php

En mathématiques, la suite de Fibonacci est définie récursivement comme suit :

F(1)=1,F(2)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 3,n ∈ N*)
Copier après la connexion
  • F : fait référence à la suite courante

  • n : l'indice de la colonne exponentielle

D'accord, maintenant que nous comprenons la séquence de Fibonacci, voyons comment l'implémenter en utilisant PHP.

Méthode 1 : Utilisez le tableau

pour observer la séquence donnée ci-dessus, combinée à la connaissance du tableau, vous pouvez analyser :

  • Lorsque l'indice du tableau est 0 ou 1, la valeur de l'élément est < code>1< /code>;1

  • 数组下标为2时,元素是a[0]+a[1];

  • 数组下标为3时,元素是a[1]+a[2];

  • .....

  • 数组下标为n时,元素是a[n-2]+a[n-1];

可以得出:

  • a[0]=1

  • a[1]=2

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

Lorsque l'indice du tableau est 2, l'élément est a[0]+a[1];

Lorsque l'indice du tableau est 3 , l'élément est a[1]+a[2];Comment implémenter la séquence de Fibonacci en utilisant php

....

Lorsque l'indice du tableau est n, l'élément est a[n- 2]+a[n -1];


peut être conclu :

Comment implémenter la séquence de Fibonacci en utilisant php

a[0]=1

a[1] =2

a[n]=a[n-2]+a[n-1] (n>2)🎜🎜🎜🎜Implémentation du code : 🎜
<?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);
?>
Copier après la connexion
🎜 Résultat : 🎜🎜🎜🎜 🎜Maintenant que nous comprenons comment utiliser des tableaux pour trouver la séquence de Fibonacci, voyons comment utiliser la récursivité pour trouver la séquence de Fibonacci. 🎜🎜🎜🎜Méthode 2 : Utiliser la récursion🎜🎜🎜
<?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);
?>
Copier après la connexion
🎜Sortie : 🎜🎜🎜🎜🎜🎜La méthode récursive a également été implémentée, n'est-ce pas très simple ! 🎜🎜L'algorithme récursif peut résoudre un problème responsable en utilisant un code plus court, mais son efficacité opérationnelle est relativement faible. 🎜🎜Apprentissage recommandé : "🎜Tutoriel vidéo PHP🎜"🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal