PHP löst das Problem, dass Kaninchen Kaninchen zur Welt bringen, basierend auf PHP-Fähigkeiten mit rekursiven Algorithmen

jacklove
Freigeben: 2023-04-01 19:12:01
Original
1977 Leute haben es durchsucht

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对兔子
Nach dem Login kopieren

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
Nach dem Login kopieren

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.

Artikel, die Sie interessieren könnten:

Detaillierte Erläuterung der Ausnahmebehandlung im ThinkPHP_php-Beispiel


PHP7s PHP-Tipps zum Hochladen von Bildern basierend auf Curl


PHP5.0~5.6 Kompatibilität jeder Version cURL-Datei-Upload-Funktion Beispielanalyse PHP-Tipps


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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!