Heim  >  Artikel  >  Backend-Entwicklung  >  PHP löst das Problem, dass Kaninchen Kaninchen zur Welt bringen, basierend auf einem rekursiven Algorithmus

PHP löst das Problem, dass Kaninchen Kaninchen zur Welt bringen, basierend auf einem rekursiven Algorithmus

不言
不言Original
2018-06-01 11:57:342278Durchsuche

In diesem Artikel wird hauptsächlich PHP vorgestellt, um das Problem der Kaninchengeburt auf der Grundlage des rekursiven Algorithmus zu lösen. Er analysiert die PHP-Interviewfragen zum Problem der Kaninchengeburt anhand von Beispielen unter Verwendung von Schleife und Rekursion Lösen Sie das Problem. Freunde in Not können sich darauf beziehen

Das Beispiel in diesem Artikel beschreibt, wie PHP das Problem der Kaninchengeburt auf der Grundlage eines rekursiven Algorithmus löst. Ich teile es Ihnen als Referenz mit:

Nachdem ich die Ankündigung zum Vorstellungsgespräch erhalten hatte, überlegte ich ständig, wie ich meine Projekterfahrung morgen vorstellen könnte.

Ich bin früh aufgestanden, habe mich gewaschen und einige meiner zusammenfassenden Fragen gestellt und beantwortet.

Ich frühstückte in Eile und quetschte mich in die schreckliche U-Bahn. Zu diesem Zeitpunkt war mir alles egal, ich wollte nur so schnell wie möglich aus der U-Bahn aussteigen. Schließlich kam ich eine halbe Stunde früher am Ort des Vorstellungsgesprächs an, holte die vorbereiteten Fragen noch einmal heraus und schaute sie mir noch ein paar Mal an. Ich habe das Formular mit Hilfe eines Menschen ausgefüllt und mir dann eine Algorithmusfrage gestellt.

Wie folgt: Ab dem dritten Monat nach der Geburt wird jeden Monat ein Kaninchenpaar geboren Und dann wird jeden Monat ein weiteres Kaninchenpaar geboren. Wenn die Kaninchen nicht sterben, programmieren Sie bitte so, dass die Gesamtzahl der Kaninchen in jedem Monat innerhalb von zwei Jahren ausgegeben wird Ich hatte diese Frage schon einmal mit mir besprochen. Die Idee ist dieselbe.

Die erste Methode (zur Schleifenimplementierung):

<?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对兔子

Die zweite Methode (rekursiv):

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

Danach habe ich auch online nachgesehen, aber die meisten Codebeispiele waren in C-Sprache, C++, Java und anderen Sprachen. Es gibt nicht viele Codebeispiele im Zusammenhang mit PHP. Ich hoffe, dass diese beiden Methoden jedem helfen können.

Tatsächlich war der gesamte Interviewprozess ziemlich angespannt, aber glücklicherweise wurde er am Ende wunderbar abgeschlossen. Nein, der Hinweis zum erneuten Test ist hier. Vielen Dank, Qianfeng PHP-Kumpel.

Verwandte Empfehlungen:

PHP durchläuft Ordner rekursiv, um Kommentare zu entfernen und PHP-Quellcode zu komprimieren


Das obige ist der detaillierte Inhalt vonPHP löst das Problem, dass Kaninchen Kaninchen zur Welt bringen, basierend auf einem rekursiven Algorithmus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn