Heim > Backend-Entwicklung > PHP-Tutorial > Wie viele Permutationen gibt es für einen gegebenen Zahlensatz und wie können sie in PHP generiert werden?

Wie viele Permutationen gibt es für einen gegebenen Zahlensatz und wie können sie in PHP generiert werden?

Mary-Kate Olsen
Freigeben: 2024-12-13 20:54:21
Original
489 Leute haben es durchsucht

How Many Permutations Exist for a Given Set of Numbers, and How Can They Be Generated in PHP?

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

Dabei In diesem Fall beträgt die Anzahl der Permutationen mit 9 Zahlen und der Auswahl aller (k=n):

9P9 = 362,880
Nach dem Login kopieren

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

Wenn Sie diese Funktion mit der Zahlenmenge aufrufen, z. B.:

pc_permute(array(0, 1, 2, 3, 4, 5, 7, 8));
Nach dem Login kopieren

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

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!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage