Reproduzieren Sie die euklidische Methode der gegenseitigen Teilung in Python

Einführung

Dies ist ein Memorandum eines Super-Anfängers

Dies ist mein erster Beitrag. Es ist eine Woche her, seit ich angefangen habe, Python zu machen. Ich bin immer noch ein Mädchen, also übe ich mit einer Sammlung von Problemen, die ich online gefunden habe.

Ich werde einen Artikel als Memorandum hinterlassen, da das Problem, das ich damals gefunden habe, nicht gut gelöst werden konnte.

Dies ist ein Muss für Super-Anfänger! !! !!

Was ist die euklidische Methode der gegenseitigen Teilung?

Einfach ausgedrückt, eine Berechnungsmethode, mit der das maximale Engagement mechanisch ermittelt werden kann.

Berechnungsmethode ① Bereiten Sie zwei natürliche Zahlen vor, die Sie überprüfen möchten ② Groß ÷ Klein (3) Wenn es einen Rest gibt, stimmen die kleinere Anzahl und die maximale Verpfändung dieses Betrags mit der maximalen Verpfändung der ursprünglichen beiden überein. ④ Wenn Sie dies wiederholen, können Sie das maximale Versprechen mit einfachen Zahlen finden.

Nun, es sieht so aus. Es tut mir leid, dass es schwer zu verstehen ist.

Eigentlich versuchen

Jetzt schreiben wir den Code. Definieren Sie zunächst eine neue Funktion gcd ()

def gcd(a,b) #Funktion definieren

Verwenden Sie def, um die Funktion selbst zu definieren.

Als nächstes schreiben wir die von dieser Funktion durchgeführte Verarbeitung. Bei der euklidischen gegenseitigen Teilung müssen Sie die Berechnung viele Male wiederholen. Daher ist die folgende bedingte Verzweigung erforderlich.

① Wenn kein Rest vorhanden ist (wenn er teilbar ist), endet die Berechnung dort ② Wenn es einen Rest gibt, setzen Sie die Berechnung fort

Die Verarbeitung ist nach beiden Fällen aufgeteilt. Mit anderen Worten, Sie sollten if verwenden!

Daher denke ich, dass der Code wie folgt sein wird.

def gcd(a,b) #Funktion definieren
#Zum Zeitpunkt von ①
    if b == 0
        return a
#Zum Zeitpunkt von ②
    else:
        return gcd(b,a%b)

Dies ist das Ende des Schreibens! !! !! Danach sollten Sie die Eingabefunktion verwenden und die Druckfunktion hinzufügen, um das Ergebnis auszugeben, damit Sie Ihre bevorzugten 2 Zahlen frei eingeben können. ↓ ist das ausgefüllte Formular.

a,b = input(),input()

#In eine Ganzzahl konvertieren
a,b = int(a),int(b)

#Funktion definieren
def gcd(a,b) 
#Zum Zeitpunkt von ①
    if b == 0
        return a
#Zum Zeitpunkt von ②
    else:
        return gcd(b,a%b)
#Ausgabeergebnis
print(gcd(a,b))

Dies ist abgeschlossen! !!

Zusammenfassung

Dieses Mal habe ich Python verwendet, um die Methode der gegenseitigen Teilung von Euklidisch auszudrücken.

Zuerst funktionierte die Eingabe nicht und ich bekam eine Fehlermeldung, aber als ich das int anhängte, funktionierte es. ~~ Ich bin mir nicht sicher warum, also würde ich mich freuen, wenn du mir davon erzählen könntest. ~~

Vielen Dank für das Lesen bis zum Ende! !! !! Fühlen Sie sich frei, mir einen Rat zu geben!

Recommended Posts

Reproduzieren Sie die euklidische Methode der gegenseitigen Teilung in Python
Algorithmus in Python (Bellman-Ford-Methode, Bellman-Ford)
Algorithmus in Python (Dijkstra)
Algorithmus in Python (Dichotomie)
Implementieren Sie den Dijkstra-Algorithmus in Python
Python-Algorithmus
Algorithmus in Python (Breitenprioritätssuche, bfs)
Sortieralgorithmus und Implementierung in Python
Schreiben Sie A * (A-Stern) -Algorithmen in Python
Lassen Sie uns mit Python 2 einen Investitionsalgorithmus entwickeln
Algorithmus in Python (Tiefenprioritätssuche, dfs)
Implementierung eines einfachen Algorithmus in Python 2
Algorithmus (Segmentbaum) in Python (Übung)
Führen Sie einen einfachen Algorithmus in Python aus
Quadtree in Python --2
Python in der Optimierung
CURL in Python
Metaprogrammierung mit Python
Python 3.3 mit Anaconda
Geokodierung in Python
SendKeys in Python
Metaanalyse in Python
Python-Memorandum (Algorithmus)
Unittest in Python
Ali Buch in Python: Sec.2-5 Dyxtra-Methode
Algorithmus in Python (ABC 146 C Dichotomie
Epoche in Python
Deutsch in Python
DCI in Python
Quicksort in Python
nCr in Python
N-Gramm in Python
Programmieren mit Python
Plink in Python
Konstante in Python
Schreiben Sie eine einfache Giermethode in Python
FizzBuzz in Python
SQLite in Python
Schritt AIC in Python
LINE-Bot [0] in Python
CSV in Python
Reverse Assembler mit Python
Reflexion in Python
Konstante in Python
nCr in Python.
Format in Python
Scons in Python 3
Puyopuyo in Python
Python in Virtualenv
PPAP in Python
Quad-Tree in Python
Ausrichtungsalgorithmus durch Einfügemethode in Python
Reflexion in Python
Chemie mit Python
Hashbar in Python
DirectLiNGAM in Python
LiNGAM in Python
In Python reduzieren