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! !! !!
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.
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! !!
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. ~~
Ergänzung Ich habe es dir in den Kommentaren gesagt! Der Grund scheint der Unterschied im Typ zu sein. Die Eingabe ist str, da es sich um eine Funktion handelt, die die vom Benutzer eingegebene "Zeichenfolge" empfängt. Andererseits ist der von der gcd-Funktion angenommene Typ int, sodass die Typen nicht übereinstimmen und ein Fehler auftritt. Mit anderen Worten, wenn Sie es mit der Funktion int in eine Ganzzahl konvertieren, funktioniert es.
Zusätzliche Bemerkungen Ich habe es dir nochmal in den Kommentaren gesagt! Wenn Sie Python 3.5 oder höher haben, scheint die Mathematikbibliothek eine Funktion zu haben, wie ich sie erstellt habe!
Vielen Dank für das Lesen bis zum Ende! !! !! Fühlen Sie sich frei, mir einen Rat zu geben!
Recommended Posts