Jetzt sind in den drei Zeilen mehrere Punkte vorhanden. Wir müssen beispielsweise herausfinden, wie viele Dreiecke diese Punkte bilden können Frage.
Methode zur Lösungsfindung
In dieser Methode werden wir eine Formel entwickeln: Wenn wir die Kombinatorik auf die aktuelle Situation anwenden, wird uns diese Formel das Ergebnis liefern.
C++-Code für die obige Methode
Dies ist die C++-Syntax, die wir als Eingabe verwenden können, um das gegebene Problem zu lösen –
Beispiel
Input: m = 3, n = 4, k = 5
Output: 205
Input: m = 2, n = 2, k = 1
Output: 10
Nach dem Login kopieren
Ausgabe
#include <bits/stdc++.h>
#define MOD 1000000007
using namespace std;
long long fact(long long n) {
if(n <= 1)
return 1;
return ((n % MOD) * (fact(n-1) % MOD)) % MOD;
}
long long comb(int n, int r) {
return (((fact(n)) % MOD) / ((fact(r) % MOD) * (fact(n-r) % MOD)) % MOD);
}
int main() {
int n = 3;
int m = 4;
int r = 5;
long long linen = comb(n, 3); // the combination of n with 3.
long long linem = comb(m, 3); // the combination of m with 3.
long long liner = comb(r, 3); //the combination of r with 3.
long long answer = comb(n + m + r, 3); // all possible comb of n, m , r with 3.
answer -= (linen + linem + liner);
cout << answer << "\n";
return 0;
}
Nach dem Login kopieren
Erklärung des obigen Codes
In dieser Methode finden wir All mögliche Kombinationen von n+m+r und drei Zahlen, also comb(n+m+r, 3). Nun wissen Sie, dass die Bedingung dafür, dass drei Punkte ein Dreieck werden, darin besteht, dass sie nicht kollinear sein können. Daher finden wir alle möglichen kollinearen Punkte, die wir durch Summieren der Kombinationen von n, m, r erhalten, und kombinieren diese Summe dann mit n+ Wenn sich die drei Zahlen m+r ändern, erhalten wir die Antwort und geben sie aus.
Fazit
In diesem Artikel wurde erläutert, wie man mithilfe der Kombinatorik berechnen kann, wie viele Dreiecke aus einer Menge von Punkten auf drei Linien gebildet werden können. Wir haben auch das C++-Programm und die vollständige Methode (normale Methode) gelernt, um dieses Problem zu lösen. Wir können das gleiche Programm in anderen Sprachen wie C, Java, Python und anderen Sprachen schreiben. Ich hoffe, dieser Artikel ist hilfreich für Sie.
Das obige ist der detaillierte Inhalt vonErmitteln Sie in C++ die Anzahl der Dreiecke, die durch eine Menge von Punkten auf drei Geraden gebildet werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!