Heim  >  Artikel  >  Backend-Entwicklung  >  PHP Hundred Money Hundred Chicken Problem (Drei Ideen und Antworten zur Problemlösung)

PHP Hundred Money Hundred Chicken Problem (Drei Ideen und Antworten zur Problemlösung)

**熬夜选手
**熬夜选手Original
2020-04-30 13:20:1012227Durchsuche

Was ist Hundred Money Hundred Chicken?

Ein mathematisches Problem, das der alte chinesische Mathematiker Zhang Qiujian im Buch „Suan Jing“ aufgeworfen hat: Ein Huhn ist fünf wert, eine Henne ist drei wert und drei Küken sind eins wert. Wenn Sie hundert Hühner für hundert Dollar kaufen, wie viel kosten dann die Hühner, Mütter und Küken?

PHP Hundred Money Hundred Chicken Problem (Drei Ideen und Antworten zur Problemlösung)

Die Übersetzung lautet:

Hähne kosten jeweils 5 Yuan, Hühner kosten jeweils 3 Yuan und Küken kosten jeweils 1 Yuan. Ich habe 100 Hühner für 100 Yuan gekauft, wie viele sind es jeweils?

Im Folgenden wird PHP verwendet, um dieses Problem auf drei Arten zu lösen:

Die erste Methode

Annahme:

Wenn es 1 Hahn, 1 Henne und 1 Küken gibt, ist der Gesamtpreis: ..., falsch.

Bei 1 Hahn, 1 Henne und 2 Küken ist der Gesamtpreis: ..., falsch.

Bei 1 Hahn, 1 Henne und 3 Küken ist der Gesamtpreis: ..., falsch.

.............................

Wenn es 1 Hahn und 2 Hühner gibt, der kleine Für 1 Huhn ist der Gesamtpreis:..., falsch.

Wenn es 1 Hahn, 2 Hühner und 2 Küken gibt, ist der Gesamtpreis: ..., falsch.

Wenn es 1 Hahn, 2 Hühner und 3 Küken gibt, ist der Gesamtpreis: ..., falsch.

........................

Wenn es 100 Hähne und 100 Hühner gibt, gibt es 100 Küken, dann ist der Gesamtpreis:..., falsch.

Diese Art von Programmieridee wird als „erschöpfend“ bezeichnet, was bedeutet, dass alle möglichen Antworten aufgelistet und dann einzeln überprüft werden.

Der Code lautet wie folgt:

<?php
$count = 0;
for($gongji = 0;$gongji <= 100;$gongji++){
for ($muji=0; $muji <= 100; $muji++) { 
for ($xiaoji=0; $xiaoji <= 100 ; $xiaoji++) { 
if($gongji + $muji + $xiaoji ==100 && $gongji*5 + 
$muji*3 + $xiaoji / 3 == 100){
  echo "<br>公鸡:$gongji,母鸡: $muji,小鸡: $xiaoji";
}
$count++;
}
}
}
echo "<br>".$count;

Ergebnis:

Hahn: 0, Henne: 25, Küken: 75 Hahn: 4, Hennen: 18, Küken: 78 Hähne: 8, Hennen: 11, Küken: 81 Hähne: 12, Hennen: 4, Küken: 841030301

Zweiter

Der Code lautet wie folgt

$count = 0;
for($gongji = 0;$gongji <= 100 / 5;$gongji++){
for ($muji=0; $muji <= 100 / 3; $muji++) { 
$xiaoji = 100 - $gongji - $muji;
if($gongji*5 + $muji*3 +$xiaoji / 3 == 100){
echo "<br>公鸡:$gongji,母鸡: $muji,小鸡: $xiaoji";
}
$count++;
}
}
echo "<br>".$count;

Ergebnis:

Hahn: 0, Henne: 25, Küken: 75 Hähne: 4, Hühner : 18, Küken: 78 Hähne: 8, Hennen: 11, Küken: 81 Hähne: 12, Hennen: 4, Küken: 84714

Nein. Drei Arten von

Codes sind wie folgt

$count = 0;
for($gongji = 0;$gongji <= 100 / 5;$gongji++){
for ($muji=0; $muji <= (100-$gongji*5) / 3; $muji++) { 
$xiaoji = 100 - $gongji - $muji;
if($gongji*5 + $muji*3 +$xiaoji / 3 == 100){
echo "<br>公鸡:$gongji,母鸡: $muji,小鸡: $xiaoji";
}
$count++;
}
}
echo "<br>".$count;

Ergebnis:

Hahn: 0, Henne: 25, Küken: 75 Hahn: 4, Hennen: 18, Küken: 78 Hähne: 8, Hennen: 11, Küken: 81 Hähne: 12, Hennen: 4, Küken: 84364

Zusammenfassung:

Man kann sich leicht vorstellen, ein Triple für zu verwenden Schleife direkt, aber die Komplexität der Triple-for-Schleife ist zu groß, daher sollten Sie darüber nachdenken, die Schleife zu reduzieren. Ziehen Sie einfach die Hähne und Hühner von der Gesamtzahl der Hühner ab, um eine Schleifenschicht zu reduzieren, wodurch die Laufzeit verkürzt und die Codeeffizienz verbessert wird.

Das obige ist der detaillierte Inhalt vonPHP Hundred Money Hundred Chicken Problem (Drei Ideen und Antworten zur Problemlösung). 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