Heim > Artikel > Backend-Entwicklung > Finden Sie die Anzahl der Lösungen einer modularen Gleichung mit C++
In diesem Artikel erklären wir, was Lösungen modularer Gleichungen sind, und schreiben außerdem ein Programm, um mehrere Lösungen modularer Gleichungen zu finden. Hier ist das grundlegende Beispiel:
Input : X = 30 Y = 2 Output : 4, 7, 14, 28 Explanation : 30 mod 4 = 2 (equals Y), 30 mod 7 = 2 (equals Y), 30 mod 14 = 2 (equals Y), 30 mod 28 = 2 (equals Y) Input : X = 30 Y = 2 Output : 4, 7, 14, 28 Explanation : 30 mod 4 = 2 (equals Y), 30 mod 7 = 2 (equals Y), 30 mod 14 = 2 (equals Y), 30 mod 28 = 2 (equals Y)
Wie wir im obigen Beispiel gesehen haben, ist jede ganze Zahl eine Lösung, die nach der Division von X einen Rest Y ergibt. In diesem Beispiel ergibt die Division von 30 durch 4, 7, 14 und 28 einen Rest von 2, der gleich Y ist. Wir werden die Modulgleichung auf diese Weise lösen.
Wir können eine einfache Methode anwenden, um aber nicht durch eine ganze Zahl von X zu dividieren, ist die Lösung. Schreiben wir ein C++-Programm, um verschiedene Lösungen für eine modulare Gleichung zu finden.
#include <bits/stdc++.h> using namespace std; int numberofdivisor(int X, int Y){ int N = (X - Y); int noOfDivisors = 1; for (int i = 1; i <= N/2; i++) { // if N is divisible by i if ((N % i) == 0) { // count if integer is greater than Y if (i > Y) noOfDivisors++; } } return noOfDivisors; } void numberofsolutions(int X, int Y){ int noOfSolutions; if (X == Y) noOfSolutions = -1; if (X < Y) noOfSolutions = 0; if (X > Y) noOfSolutions = numberofdivisor(X, Y); if (noOfSolutions == -1) { cout << "X can take Infinitely many values" " greater than " << X << "\n"; } else { cout << "Number of solution = " << noOfSolutions; } } // main function int main(){ int X,Y; cin >> X; cin >> Y; numberofsolutions(X, Y); return 0; }
Wenn wir 0 als Eingabe schreiben, gibt das Programm eine Ausgabe wie diese aus -
X can take Infinitely many values greater than 0
Wenn wir andere Zahlen eingeben, zeigt das obige Programm eine Ausgabe wie diese (Hier haben wir 5 als Eingabe angegeben) -
Number of solution = 2
Jetzt erklären wir jede Funktion, damit Sie das Programm leicht verstehen können.
In der main-Funktion nehmen wir die Werte von X und Y als Eingabe und ermitteln die Anzahl möglicher Lösungen, indem wir die Funktion numberofsolutions() aufrufen.
Diese Funktion prüft, ob X und Y die Bedingung erfüllen, dass X größer als Y sein sollte, da wir keinen Rest finden können, der größer als der Dividend ist. Diese Funktion ruft eine andere Funktion numberofdivisor() auf und ruft die Anzahl der Teiler von X ab, was den Rest Y ergibt.
Diese Funktion ermittelt die Anzahl der Teiler von
Die Lösung einer modularen Gleichung ist eine ganze Zahl, die X teilt und den Rest Y ergibt; das wissen wir aus verschiedenen Beispielen. Die Gleichung kann einige Lösungen haben, daher finden wir diese Lösungen durch die Anwendung einfacher Methoden.
Wir können ein C++-Programm schreiben, um die Lösung der modularen Gleichung zu berechnen. Wir können das gleiche Programm in anderen Sprachen wie C, Java, Python oder jeder anderen Programmiersprache schreiben. Ich hoffe, dass Sie diesen Artikel hilfreich fanden, um das Konzept zu verstehen, wie man mehrere Lösungen für modulare Gleichungen findet.
Das obige ist der detaillierte Inhalt vonFinden Sie die Anzahl der Lösungen einer modularen Gleichung mit C++. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!