Heim > Backend-Entwicklung > C++ > Hauptteil

Ermitteln Sie in C++ die Anzahl der reflexiven Beziehungen auf einer Menge

PHPz
Freigeben: 2023-08-26 20:17:22
nach vorne
911 Leute haben es durchsucht

In diesem Artikel erklären wir Möglichkeiten, reflexive Beziehungen auf einer Menge zu finden. In diesem Problem erhalten wir eine Zahl n und eine Menge von n natürlichen Zahlen und müssen die Anzahl der reflexiven Beziehungen bestimmen.

Reflexive Relation – Wenn für jedes „a“ in Menge A (a, a) zur Relation R gehört, dann wird Relation R als reflexive Relation auf Menge A bezeichnet. Zum Beispiel -

Input : x = 1
Output : 1
Explanation : set = { 1 }, reflexive relations on A * A :
{ { 1 } }

Input : x = 2
Output : 4
Explanation : set = { 1,2 }, reflexive relations on A * A :
   { ( 1, 1 ) , ( 2, 2 ) }
   { ( 1, 1 ), ( 2, 2 ), ( 1, 2 ) }
   { ( 1, 1 ), ( 2, 2 ), ( 1, 2 ), ( 2, 1 ) }
   { ( 1, 1 ), ( 2, 2 ), ( 2, 1 ) }
Nach dem Login kopieren

Wenn es also für jedes Element a ∈ A (a, a) ∈ R gibt, dann ist die Beziehung R reflexiv.

Lösungsmethode

Die Anzahl der reflexiven Beziehungen auf der Menge der Elemente kann mit der Formel 2n2−n berechnet werden. Diese allgemeine Formel erhält man, indem man die Anzahl der reflexiven Beziehungen ganzer Zahlen zählt.

Ermitteln Sie in C++ die Anzahl der reflexiven Beziehungen auf einer Menge

Beispiel

#include <iostream>
using namespace std;
int countReflexive(int n){
    int ans = 1 << (n*n - n);
    return ans;
}
int main(){
    int n ;
     cin >> n ; // taking input n from the user using std cin.
    int result = countReflexive(n); // calling function to calculate number of reflexive relations
    cout << "Number of reflexive relations on set: " << result ; // printing the answer
    return 0;
}
Nach dem Login kopieren

Ausgabe

Number of reflexive relations on set: 1
Nach dem Login kopieren

Erklärung des obigen Programms

Dieses Programm ist leicht zu verstehen, da wir einfach die Eingaben des Benutzers übernehmen und in die Formel 2n2−n einfügen, die wir links verwenden Der Verschiebungsoperator „

Fazit

In diesem Artikel haben wir uns mit einem Problem bezüglich der Anzahl reflexiver Beziehungen auf Mengen befasst. Wir diskutierten einfache Möglichkeiten, ein bestimmtes Problem zu lösen, und Mathematiker leiteten eine Formel zum Zählen der Anzahl reflexiver Beziehungen ab.

Wir haben auch gelernt, ein Programm für dieses Problem in C++ zu schreiben, mit einer Zeitkomplexität von O(1). Wir können das gleiche Programm in anderen Sprachen wie C, Java, Python und anderen Sprachen schreiben.

Das obige ist der detaillierte Inhalt vonErmitteln Sie in C++ die Anzahl der reflexiven Beziehungen auf einer Menge. 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!