Heim > Backend-Entwicklung > C++ > Hauptteil

C++ nimmt k Elemente als Gruppe und übernimmt die Anordnung von r Elementen aus n Elementen.

WBOY
Freigeben: 2023-09-07 20:37:02
nach vorne
1028 Leute haben es durchsucht

C++ nimmt k Elemente als Gruppe und übernimmt die Anordnung von r Elementen aus n Elementen.

Gegeben n, r, k, jetzt müssen wir herausfinden, wie man r Elemente aus n auswählt, damit bestimmte k Elemente immer zusammen erscheinen, z.

Input : n = 8, r = 5, k = 2

Output : 960


Input : n = 6, r = 2, k = 2

Output : 2
Nach dem Login kopieren

Wir brauchen etwas Wissen, um dieses Problem zu lösen, denn dieses Problem erfordert, dass wir die Anordnung von n und r so finden, dass k Objekte zusammenkommen.

Lösung

Wir müssen eine Formel für dieses Problem formulieren, die uns die Antwort gibt.

Beispiel

#include <bits/stdc++.h>
using namespace std;
int fact(int n){ // function to calculate factorial of a number
    if(n <= 1)
        return 1;
    return n * fact(n-1);
}
int npr(int n, int r){ // finding permutation
    int pnr = fact(n) / fact(n - r);
    return pnr;
}
int countPermutations(int n, int r, int k){ // the formula that we came up with
    return fact(k) * (r - k + 1) * npr(n - k, r - k);
}
int main(){
    int n = 8;
    int r = 5;
    int k = 2;
    cout << countPermutations(n, r, k);
    return 0;
}
Nach dem Login kopieren

Ausgabe

960
Nach dem Login kopieren

Erklärung des obigen Codes

In der obigen Methode versuchen wir, unsere Formel zu entwerfen, um die Antwort auf diese Frage zu berechnen. Die von uns entworfene Formel ist (k!) * (r – k + 1) *P(n-k, r-k). (P(x, y) ist die Anzahl der Permutationen, die y aus x auswählen), also entwickeln wir die Formel und berechnen die Antwort.

Fazit

In diesem Tutorial haben wir das Problem gelöst, Permutationen zu finden, die r Dinge mit k Dingen gleichzeitig zusammenfügen. Wir haben auch das C++-Programm für dieses Problem und die vollständige Methode zu seiner Lösung gelernt (Normal).

Wir können das gleiche Programm in anderen Sprachen wie C, Java, Python und anderen Sprachen schreiben. Wir hoffen, dass Sie dieses Tutorial hilfreich fanden.

Das obige ist der detaillierte Inhalt vonC++ nimmt k Elemente als Gruppe und übernimmt die Anordnung von r Elementen aus n Elementen.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:tutorialspoint.com
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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!