Heim  >  Artikel  >  Backend-Entwicklung  >  So finden Sie den größten gemeinsamen Teiler in Python

So finden Sie den größten gemeinsamen Teiler in Python

php中世界最好的语言
php中世界最好的语言Original
2018-04-09 16:00:4611052Durchsuche

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!

Stellungnahme:
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