Maison >développement back-end >tutoriel php >PHP résout le problème des lapins donnant naissance à des lapins grâce à un algorithme récursif

PHP résout le problème des lapins donnant naissance à des lapins grâce à un algorithme récursif

不言
不言original
2018-06-01 11:57:342393parcourir

Cet article présente principalement PHP pour résoudre le problème des lapins donnant naissance à des lapins sur la base de l'algorithme récursif. Il analyse les questions d'entretien PHP sur le problème des lapins donnant naissance à des lapins sous forme d'exemples, en utilisant la boucle et la récursivité pour résoudre le problème. Les amis dans le besoin peuvent s'y référer

L'exemple dans cet article décrit comment PHP résout le problème des lapins donnant naissance à des lapins sur la base d'un algorithme récursif. Je le partage avec vous pour votre référence. Les détails sont les suivants :

Je me tournais et me retournais après avoir reçu l'avis d'entretien. Je n'arrêtais pas de réfléchir à la manière de présenter mon expérience de projet demain.

Je me suis levé tôt, je me suis lavé, j'ai posé et répondu à certaines de mes questions récapitulatives.

J'ai pris mon petit-déjeuner à la hâte et je me suis faufilé dans l'affreux métro à ce moment-là, je ne me souciais de rien, je voulais juste descendre du métro le plus tôt possible. Finalement, je suis arrivé sur le lieu de l'entretien une demi-heure plus tôt. J'ai ressorti les questions préparées et les ai regardées plusieurs fois. Il me restait 15 minutes pour monter. J'ai rempli le formulaire avec l'aide d'un humain, puis je m'ai posé une question d'algorithme.

Comme suit : Il y a un couple de lapins A partir du troisième mois après la naissance, un couple de lapins naît chaque mois. Les petits lapins grandissent jusqu'au troisième mois. et puis chaque mois. Une autre paire de lapins naît. Si les lapins ne meurent pas, veuillez programmer pour afficher le nombre total de lapins chaque mois dans un délai de deux ans ?

Je me suis soudainement souvenu de cela d'un ami. avait déjà discuté de cette question avec moi, l'idée est la même.

La première méthode (pour l'implémentation de boucles) :

<?php
  function getResult($month){
   $one = 1; //第一个月兔子的对数
   $two = 1; //第二个月兔子的对数
   $sum = 0; //第$month个月兔子的对数
   if($month < 3){
     return ;
     }
   for($i = 2;$i < $month; $i++){
     $sum = $one + $two;
     $one = $two;
     $two = $sum;
   }
   echo $month.&#39;个月后共有&#39;.$sum.&#39;对兔子&#39;;
  }
//测试:
getResult(8)
//输出:8个月后共有21对兔子

La deuxième méthode (Récursion ):

<?php
function fun($n){
  if($n == 1 || $n == 2){
    return 1;
  }else{
    return fun($n-1)+fun($n-2);
  }
}
//测试:
echo fun(8)
//输出:21

Ensuite, j'ai aussi vérifié en ligne, mais la plupart des exemples de code étaient en langage C, c++, java Attendez le langue. Il n'y a pas beaucoup d'exemples de code liés à PHP. J'espère que ces deux méthodes pourront aider tout le monde.

En fait, l'ensemble du processus d'entretien a été assez tendu, mais heureusement, il s'est finalement terminé à merveille. Non, l'avis de retest est ici, merci mon pote Qianfeng PHP.

Recommandations associées :

PHP parcourt récursivement les dossiers pour supprimer les commentaires et compresser le code source 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!

Déclaration:
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