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?

Wie viele Permutationen gibt es für eine Menge von neun Zahlen und wie können sie in PHP generiert werden?

DDD
Freigeben: 2024-12-17 01:19:25
Original
267 Leute haben es durchsucht

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

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

In diesem Fall ist n = 9 und k = 9, wir haben:

9P9 = 9! = 362,880
Nach dem Login kopieren

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

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

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!

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