Heim >Backend-Entwicklung >PHP-Tutorial >Wie viele Permutationen gibt es für einen gegebenen Zahlensatz und wie können sie in PHP generiert werden?
Alle möglichen Zahlenmengen mithilfe von Permutationen finden
Berechnung aller möglichen Zahlenmengen aus einem bestimmten Bereich, die alle Zahlen verwenden und jede Zahl zulassen nur einmal erscheinen, beinhaltet das mathematische Konzept der Permutationen. Die Permutationsformel berechnet die Anzahl der eindeutigen Anordnungen oder Ordnungen einer Menge von Elementen.
Für eine Menge von n Zahlen, wobei n! stellt die Fakultät von n (n (n-1) (n-2) ... * 1 dar), die Gesamtzahl der Permutationen ist gegeben durch:
nPk = n!/(n-k)!
Dabei In diesem Fall beträgt die Anzahl der Permutationen mit 9 Zahlen und der Auswahl aller (k=n):
9P9 = 362,880
Um diese Permutationen in PHP zu generieren, kann man verwenden Diese Funktion wird von O'Reillys „PHP Cookbook“ bereitgestellt:
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); } } }
Wenn Sie diese Funktion mit der Zahlenmenge aufrufen, z. B.:
pc_permute(array(0, 1, 2, 3, 4, 5, 7, 8));
werden alle möglichen Permutationen ausgedruckt, einschließlich die bereitgestellten Beispiele:
0-1-2-3-4-5-6-7-8 0-1-2-3-4-5-6-8-7 0-1-2-3-4-5-8-6-7 0-1-2-3-4-8-5-6-7 0-1-2-3-8-4-5-6-7 0-1-2-8-3-4-5-6-7 ...
Das obige ist der detaillierte Inhalt vonWie viele Permutationen gibt es für einen gegebenen Zahlensatz und wie können sie in PHP generiert werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!