Heim >Backend-Entwicklung >PHP-Tutorial >Wie viele Permutationen gibt es für eine Menge von neun Zahlen und wie können sie in PHP generiert werden?
Aufzählung aller Permutationsmengen von Zahlen
Im Bereich der Kombinatorik bezieht sich eine Permutation auf eine geordnete Anordnung von Elementen aus einer gegebenen Menge. Bei einer Reihe von Zahlen im Bereich von 0 bis 8 besteht die Herausforderung darin, alle möglichen Permutationen zu generieren, bei denen jede Zahl genau einmal in einer Menge vorkommt.
Permutationen berechnen
Die Die Formel zur Berechnung der Anzahl der Permutationen von n Elementen, jeweils k genommen, lautet:
nPk = n! / (n - k)!
In diesem Fall ist n = 9 und k = 9, wir haben:
9P9 = 9! = 362,880
Daher gibt es 362.880 mögliche Permutationen der gegebenen Menge.
PHP-Implementierung
Eine Möglichkeit, diese Permutationen in PHP zu generieren, ist eine rekursive Methode Algorithmus:
<?php pc_permute([0, 1, 2, 3, 4, 5, 7, 8]); function pc_permute($items, $perms = array()) { if (empty($items)) { print join(' ', $perms) . "\n"; } else { for ($i = count($items) - 1; $i >= 0; --$i) { $newitems = $items; $newperms = $perms; list($foo) = array_splice($newitems, $i, 1); array_unshift($newperms, $foo); pc_permute($newitems, $newperms); } } } ?>
Beispielausgabe
Das Ausführen dieses Codes erzeugt die folgenden Beispielpermutationen:
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 8 7 0 1 2 3 4 5 7 6 8 0 1 2 3 4 5 7 8 6 0 1 2 3 4 5 8 6 7 0 1 2 3 4 5 8 7 6 ...
Das obige ist der detaillierte Inhalt vonWie viele Permutationen gibt es für eine Menge von neun Zahlen und wie können sie in PHP generiert werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!