Inhaltsverzeichnis
Algorithm
Example
Output
Heim Backend-Entwicklung C++ Ein Programm zum Lösen modularer Gleichungen in C/C++ schreiben?

Ein Programm zum Lösen modularer Gleichungen in C/C++ schreiben?

Sep 12, 2023 pm 02:21 PM
c/c++ 模方程 Lösen

Ein Programm zum Lösen modularer Gleichungen in C/C++ schreiben?

Hier sehen wir ein interessantes Problem im Zusammenhang mit modularen Gleichungen. Nehmen wir an, wir haben zwei Werte A und B. Wir müssen die Anzahl möglicher Werte ermitteln, die die Variable X annehmen kann, sodass (A mod X) = B gilt.

Angenommen, A ist 26 und B ist 2. Der bevorzugte Wert von X ist also {3, 4, 6, 8, 12, 24}, daher beträgt die Anzahl 6. Das ist die Antwort. Werfen wir einen Blick auf den Algorithmus, um ihn besser zu verstehen.

Algorithm

possibleWayCount(a, b) −

begin
   if a = b, then there are infinite solutions
   if a < b, then there are no solutions
   otherwise div_count := find_div(a, b)
   return div_count
end
Nach dem Login kopieren

find_div(a, b) – Die chinesische Übersetzung von

begin
   n := a &ndash; b
   div_count := 0
   for i in range 1 to square root of n, do
      if n mode i is 0, then
         if i > b, then
            increase div_count by 1
         end if
         if n / i is not same as i and (n / i) > b, then
            increase div_count by 1
         end if
      end if
   done
end
Nach dem Login kopieren

Example

lautet:

Example

#include <iostream>
#include <cmath>
using namespace std;
int findDivisors(int A, int B) {
   int N = (A - B);
   int div_count = 0;
   for (int i = 1; i <= sqrt(N); i++) {
      if ((N % i) == 0) {
         if (i > B)
            div_count++;
         if ((N / i) != i && (N / i) > B) //ignore if it is already counted
            div_count++;
      }
   }
   return div_count;
}
int possibleWayCount(int A, int B) {
   if (A == B) //if they are same, there are infinity solutions
      return -1;
   if (A < B) //if A < B, then there are two possible solutions
      return 0;
   int div_count = 0;
   div_count = findDivisors(A, B);
   return div_count;
}
void possibleWay(int A, int B) {
   int sol = possibleWayCount(A, B);
   if (sol == -1)
      cout << "For A: " << A << " and B: " << B << ", X can take infinite values greater than " << A;
   else
      cout << "For A: " << A << " and B: " << B << ", X can take " << sol << " values";
}
int main() {
   int A = 26, B = 2;
   possibleWay(A, B);
}
Nach dem Login kopieren

Output

For A: 26 and B: 2, X can take 6 values
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonEin Programm zum Lösen modularer Gleichungen in C/C++ schreiben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie schreibe ich einen Algorithmus, um das kleinste gemeinsame Vielfache in Python zu finden? Wie schreibe ich einen Algorithmus, um das kleinste gemeinsame Vielfache in Python zu finden? Sep 19, 2023 am 11:25 AM

Wie schreibe ich einen Algorithmus, um das kleinste gemeinsame Vielfache in Python zu finden? Das kleinste gemeinsame Vielfache ist die kleinste ganze Zahl zwischen zwei Zahlen, die die beiden Zahlen teilen kann. In der Mathematik ist das Lösen des kleinsten gemeinsamen Vielfachen eine grundlegende mathematische Aufgabe, und in der Computerprogrammierung können wir Python verwenden, um einen Algorithmus zum Lösen des kleinsten gemeinsamen Vielfachen zu schreiben. Im Folgenden wird der grundlegende Algorithmus für das kleinste gemeinsame Vielfache vorgestellt und spezifische Codebeispiele gegeben. Die mathematische Definition des kleinsten gemeinsamen Vielfachen lautet: Wenn a durch n teilbar ist und b durch n teilbar ist, dann ist n das kleinste gemeinsame Vielfache von a und b. Um das Minimum zu lösen

Was sind die Unterschiede zwischen PHP und C#? Was sind die Unterschiede zwischen PHP und C#? Jun 02, 2023 pm 01:45 PM

Die Unterschiede zwischen PHP und C# sind: 1. Das Sprachtypsystem ist unterschiedlich, PHP ist dynamisch, während C# ein statischer Typ ist. 2. Die verwendeten Plattformen sind unterschiedlich. PHP kann plattformübergreifend arbeiten, während C# exklusiv für Windows ist . Das Programmierparadigma ist anders: PHP unterstützt objektorientierte, prozedurale und funktionale Programmierung, und C# ist eher objektorientiert. Die Ausführungsgeschwindigkeit ist unterschiedlich, PHP ist schneller und C# ist relativ langsam Anwendungsszenarien sind unterschiedlich, PHP wird in der Webentwicklung, auf Servern usw. verwendet. C# wird für Windows-Desktop- und Webanwendungen verwendet.

Erstellen Sie mit dem Clang-Tool ein C/C++-Codeformatierungstool Erstellen Sie mit dem Clang-Tool ein C/C++-Codeformatierungstool Aug 26, 2023 pm 01:09 PM

In diesem Tutorial besprechen wir ein Programm zum Erstellen eines C/C++-Codeformatierungstools mit Hilfe von Clangtools. SETUPsudoaptinstallpythonsudoaptinstallclang-format-3.5 Anschließend erstellen wir eine Python-Datei an einem Speicherort, an dem der aktuelle Benutzer Lese- und Schreibberechtigungen hat. Beispiel importoscpp_extensions=(".cxx",".cpp&

Warum ist in C/C++ die Größe der Struktur nicht gleich der Summe der Größe jedes Mitglieds? Warum ist in C/C++ die Größe der Struktur nicht gleich der Summe der Größe jedes Mitglieds? Aug 26, 2023 am 09:29 AM

Die Größe der durch sizeof() erhaltenen Strukturtypelemente entspricht nicht immer der Größe jedes einzelnen Elements. Manchmal fügt der Compiler etwas Auffüllung hinzu, um Ausrichtungsprobleme zu vermeiden. Daher können sich die Abmessungen ändern. Polsterung wird hinzugefügt, wenn auf ein Strukturelement ein größeres Element folgt oder sich am Ende der Struktur befindet. Verschiedene Compiler haben unterschiedliche Arten von Ausrichtungseinschränkungen. Im C-Standard sind die gesamten Alignment-Strukturen von der Implementierung abhängig. Fall 1 In diesem Fall ist das doppelte z 8 Bytes lang, was größer als x (4 Bytes) ist. Es werden also weitere 4 Byte Auffüllung hinzugefügt. Darüber hinaus verfügen die Kurztypdaten y über 2 Byte Speicherplatz im Speicher, sodass zusätzliche 6 Byte als Auffüllung hinzugefügt werden. Beispielcode #include<stdio.h>structmyS

In einem Artikel wird die Vscode-Konfiguration der C/C++-Laufumgebung ausführlich erläutert [Unterricht auf Kindermädchenniveau] In einem Artikel wird die Vscode-Konfiguration der C/C++-Laufumgebung ausführlich erläutert [Unterricht auf Kindermädchenniveau] Feb 27, 2023 pm 07:33 PM

Wie entwickle ich C/C++ in VScode? Wie konfiguriere ich die C/C++-Umgebung? Der folgende Artikel wird Ihnen das Tutorial zur VScode-Konfiguration der C/C++-Laufumgebung vorstellen (ich hoffe, dass es für alle hilfreich ist).

In C/C++ gibt es zwei Operationen: Vor-Inkrementierung und Nach-Inkrementierung. In C/C++ gibt es zwei Operationen: Vor-Inkrementierung und Nach-Inkrementierung. Aug 25, 2023 pm 02:25 PM

Hier werfen wir einen Blick darauf, was in C oder C++ Pre-Inkrement und Post-Inkrement sind. Sowohl Pre-Inkrement als auch Post-Inkrement sind Inkrementoperatoren. Aber es gibt kaum einen Unterschied zwischen ihnen. Der Pre-Inkrement-Operator erhöht zunächst den Wert einer Variablen und weist ihn dann anderen Variablen zu. Im Fall des Post-Inkrement-Operators weist er jedoch zuerst einer Variablen zu und erhöht dann den Wert. Beispiel #include<iostream>usingnamespacestd;main(){ intx,y,z;

Eine schnelle Möglichkeit, die Umkehrung einer Matrix zu berechnen – Numpy-Implementierung Eine schnelle Möglichkeit, die Umkehrung einer Matrix zu berechnen – Numpy-Implementierung Jan 24, 2024 am 08:47 AM

Numpy ist eine bekannte Python-Bibliothek für wissenschaftliches Rechnen, die umfangreiche Funktionen und effiziente Rechenmethoden für die Verarbeitung großer mehrdimensionaler Arrays und Matrizen bietet. In der Welt der Datenwissenschaft und des maschinellen Lernens ist die Matrixinversion eine häufige Aufgabe. In diesem Artikel werde ich vorstellen, wie man die Matrixinverse mithilfe der Numpy-Bibliothek schnell löst, und spezifische Codebeispiele bereitstellen. Lassen Sie uns zunächst die Numpy-Bibliothek durch Installation in unsere Python-Umgebung einführen. Numpy kann mit dem folgenden Befehl im Terminal installiert werden: pipinsta

In C/C++ ist die Funktion strcpy() eine Funktion, die zum Kopieren eines Strings in einen anderen String verwendet wird In C/C++ ist die Funktion strcpy() eine Funktion, die zum Kopieren eines Strings in einen anderen String verwendet wird Sep 09, 2023 am 08:49 AM

Die Funktion strcpy() ist eine Standardbibliotheksfunktion. Es wird verwendet, um eine Zeichenfolge in eine andere Zeichenfolge zu kopieren. In der C-Sprache wird es in der Header-Datei „string.h“ deklariert, während es in der C++-Sprache in der cstring-Header-Datei deklariert wird. Es gibt einen Zeiger auf das Ziel zurück. Dies ist die Syntax von strcpy() in der C-Sprache, char*strcpy(char*dest,constchar*src); einige wichtige Punkte von strcpy(). Es kopiert die gesamte Zeichenfolge in die Zielzeichenfolge. Es ersetzt die gesamte Zeichenfolge, anstatt sie anzuhängen. Die Quellzeichenfolge wird dadurch nicht geändert. Das Folgende ist ein Beispiel für strcpy() in der C-Sprache: Beispiel-Online-Demo#in

See all articles