Heim >Backend-Entwicklung >C++ >Ermitteln Sie in C++ die Anzahl der reflexiven Beziehungen auf einer Menge

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

PHPz
PHPznach vorne
2023-08-26 20:17:22953Durchsuche

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 ) }

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;
}

Ausgabe

Number of reflexive relations on set: 1

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen