Dieses Mal werde ich Ihnen zeigen, Wie man den größten gemeinsamen Teiler in Python findet und welche Vorsichtsmaßnahmen es gibt, um den größten gemeinsamen Teiler in Python zu finden. Das Folgende ist ein praktischer Fall . Werfen wir einen Blick darauf.
Ich habe die Lösung des größten gemeinsamen Teilers in Knuth TAOCP bereits zusammengefasst. Tatsächlich erfordert die Algorithmusmodifikation in den außerschulischen Fragen die Realisierung des größten gemeinsamen Teilers durch die euklidische Divisionsmethode.
Mein anfängliches Verständnis dieser Frage war falsch und natürlich hatte ich keine Standardantwort. Schreiben Sie nun die entsprechende Code-Implementierung gemäß der Standardantwort:
# -*- coding:utf-8 -*- #! python2 def MaxCommpisor(m,n): while m * n != 0: m = m % n if m == 0: return n else: n = n % m if n == 0: return m print(MaxCommpisor(55,120))
Das Ausführungsergebnis des Programms:
Vertauschen Sie die Positionen der beiden Zahlen . Der Code lautet wie folgt:
# -*- coding:utf-8 -*- #! python2 def MaxCommpisor(m,n): while m * n != 0: m = m % n if m == 0: return n else: n = n % m if n == 0: return m print(MaxCommpisor(120,55))
Das Ausführungsergebnis des Programms:
In der Frage wurde erwähnt, dass es die Effizienz verringert Im obigen Code liegt die Effizienz darin, dass der Verlust in der Teilung und Beurteilung liegen sollte. Nehmen Sie hier den Code des vorherigen Algorithmus und vergleichen Sie ihn:
def CommDevisor(m,n): r = m % n while r != 0: m = n n = r r = m % n return n print(CommDevisor(120,25))
Laufergebnisse:
Der neue Algorithmus befindet sich in der -Schleife , es gibt noch eine weitere Divisions- und Vergleichsoperation. Tatsächlich ist die Vergleichseffizienz immer noch gut, aber der Divisionsbetrieb führt zu einer Verringerung der Effizienz.
Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website !
Empfohlene Lektüre:
Wie Python Numpy Arrays und Matrizen bedient
Wie man Python bedient, um Numpy-Arrays zu durchlaufen
Das obige ist der detaillierte Inhalt vonSo finden Sie den größten gemeinsamen Teiler in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!