Heim  >  Artikel  >  Backend-Entwicklung  >  Finden Sie die Anzahl der Lösungen einer modularen Gleichung mit C++

Finden Sie die Anzahl der Lösungen einer modularen Gleichung mit C++

PHPz
PHPznach vorne
2023-08-27 21:01:061081Durchsuche

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.

Lösungsmethode

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.

Beispiel

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

Ausgabe

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

Erklärung des obigen Codes

Jetzt erklären wir jede Funktion, damit Sie das Programm leicht verstehen können.

main()-Funktion

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.

Numberofsolutions()-Funktion

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.

Numberofdivisor()-Funktion

Diese Funktion ermittelt die Anzahl der Teiler von

Fazit

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!

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