Einführung
Permutation und Kombination sind zwei verschiedene mathematische Konzepte. Permutation ist die Anordnung von Objekten in einer bestimmten Reihenfolge. Kombination ist eine Auswahl von Objekten aus einer Menge ohne Berücksichtigung der Reihenfolge der ausgewählten Objekte. In diesem Lab werden wir lernen, wie man Permutation und Kombination mit der C-Sprache berechnet.
Schreiben Sie die Hauptfunktion
Zunächst erstellen wir in das Verzeichnis ~/project/ eine neue Datei namens main.c und schreiben den Anfangscode zum Einbinden von Header-Dateien und der Hauptfunktion.
#include <stdio.h>
int main() {
printf("Permutation und Kombination in der C-Sprache\n\n");
// Code zur Berechnung von Permutation und Kombination wird hier hinzugefügt
return 0;
}
Schreiben Sie die Fakultätsfunktion
Um Permutation und Kombination zu berechnen, müssen wir die Fakultät einer Zahl berechnen. Fakultäten können rekursiv berechnet werden. Fügen Sie den folgenden Code außerhalb der Hauptfunktion hinzu.
long factorial(int num) {
if (num == 0) {
return 1;
}
else {
return num * factorial(num - 1);
}
}
Diese Funktion nimmt eine Ganzzahl als Argument entgegen und gibt ihre Fakultät zurück.
Schreiben Sie die Funktion, um nCr zu berechnen
Fügen Sie die folgende Funktion außerhalb der Hauptfunktion hinzu, um nCr zu berechnen.
long nCr(int n, int r) {
if (n < r) {
return -1;
}
else {
return factorial(n) / (factorial(r) * factorial(n - r));
}
}
Diese Funktion nimmt zwei Ganzzahlen, n und r, als Argumente entgegen und gibt den nCr-Wert zurück. Der nCr-Wert wird berechnet, indem die Fakultät von n durch das Produkt der Fakultät von r und der Fakultät von n-r dividiert wird.
Schreiben Sie die Funktion, um nPr zu berechnen
Fügen Sie die folgende Funktion außerhalb der Hauptfunktion hinzu, um nPr zu berechnen.
long nPr(int n, int r) {
if (n < r) {
return -1;
}
else {
return factorial(n) / factorial(n - r);
}
}
Diese Funktion nimmt zwei Ganzzahlen, n und r, als Argumente entgegen und gibt den nPr-Wert zurück. Der nPr-Wert wird berechnet, indem die Fakultät von n durch die Fakultät von n-r dividiert wird.
Schreiben Sie den Treibercode des Programms
Fügen Sie den folgenden Code innerhalb der Hauptfunktion hinzu, um Eingaben zu entgegennehmen und die Ergebnisse anzuzeigen.
int main()
{
int n, r;
printf("Geben Sie den Wert von n ein:");
scanf("%d", &n);
printf("Geben Sie den Wert von r ein:");
scanf("%d", &r);
printf("nCr ist %ld\n", nCr(n, r));
printf("nPr ist %ld\n", nPr(n, r));
return 0;
}
Dieser Code nimmt die Eingabewerte für n und r vom Benutzer entgegen und ruft die Funktionen nCr() und nPr() auf, um die jeweiligen Werte zu berechnen und dann anzuzeigen.
Vollständiger Code
Der endgültige Code sieht wie folgt aus.
#include <stdio.h>
long factorial(int num) {
if (num == 0) {
return 1;
}
else {
return num * factorial(num - 1);
}
}
long nCr(int n, int r) {
if (n < r) {
return -1;
}
else {
return factorial(n) / (factorial(r) * factorial(n - r));
}
}
long nPr(int n, int r) {
if (n < r) {
return -1;
}
else {
return factorial(n) / factorial(n - r);
}
}
int main()
{
int n, r;
printf("Geben Sie den Wert von n ein:");
scanf("%d", &n);
printf("\nGeben Sie den Wert von r ein:");
scanf("%d", &r);
printf("nCr ist %ld\n", nCr(n, r));
printf("nPr ist %ld\n", nPr(n, r));
return 0;
}
Zusammenfassung
In diesem Lab haben wir gelernt, wie man Permutation und Kombination in der C-Programmiersprache berechnet. Wir haben die Funktionen geschrieben, um Fakultät, nCr und nPr zu berechnen. Wir haben auch den Treibercode für das Programm geschrieben. Indem wir die obigen Schritte befolgen, können wir die Permutation und Kombination für die Benutzereingaben berechnen.



