Carl Gauß conflict ein deutscher Mathematiker und Astronom, der auch als „Prinz der Mathematik“ bekannt ist. Er ist weithin für seine Beiträge in den Bereichen Naturwissenschaften und Mathematik wie Zahlentheorie, Geometrie, Algebra, Astronomie, Magnetismus usw. anerkannt. Noch heute werden eine Reihe von mathematischen und wissenschaftlichen Konzepten nach ihm benannt. Ein solches Konzept ist die Gaußsche Ergänzung, die wir heute untersuchen werden!
Es ist kein Wissen, sondern der Akt des Lernens, nicht in Besitz, sondern um den Akt des Ankommens, der den größten Genuss gewährt.
– Carl Friedrich Gauß
Gaußsche Ergänzung
Die Gaußsche Addition -Herausforderung ist ein interessantes Beispiel für das Denken außerhalb des Tellerrands, anstatt auf vorbestimmte Weise Aufgaben zu erledigen.
Als Carl Gauß ein Sort conflict, gab ihm sein Lehrer die Aufgabe, die Zahlen von 1 auf 100 hinzuzufügen. Jetzt eine solche Aufgabe, die die ersten 2 Zahlen hinzufügte und dann die nächste, dann die nächste Zeit dauern würde.
Nummernadditionserie (Bild vom Autor)
Aber Carl Gauß hatte eine schnellere und schlauere Möglichkeit, seine Aufgabe zu erledigen. Er verstand, dass die Zugabe von Zahlen von 1 zu 100 die gleiche wie die Zugabe von 50 Paaren entspricht, die auf 101 summieren würden, dh der ersten und der letzte 1 + 100 = 101, ähnlich der zweite und zweite letzte 2 + 99 = 101, das nth und das nth Der letzte Artikel in der Serie würde sich alle auf 101 betragen, und 50 solcher Paare würden gemacht. Dies bedeutet, dass insgesamt 5050 ohne mühsame Berechnungen leicht berechnet werden können.
Zugabe von N -ten mit der letzten Zahl der N -ten Zahl, was zu 101 führt (Bild des Autors)
Carl Gauß conflict clever; Er konnte eine intelligente Technik entwickeln, um die Summe zu berechnen, aber seien wir ehrlich. Keiner von uns ist so schlau: p. Obwohl wir nicht über das Gehirn von Gauß haben, haben wir sicherlich den Vorteil von Programmierung und Computern, die komplexe Berechnungen für uns durchführen. Lassen Sie uns das obige Drawback in Python codieren.
Code
Lassen Sie uns die Gaußsche Herausforderung lösen, während wir die zu verwendenden Python-Einbauten verstehen:
Reichweite
Das erste, was wir verstehen müssen, ist der Python vary Funktion. Diese Funktion wird verwendet, um eine Folge von Zahlen zu erstellen, die später in anderen Funktionen verwendet werden können, wie die for Schleife.
Die Syntax für die vary Funktion ist wie folgt.
Bereich = (Zahl, bei der die Sequenz beginnt, Zahl, bei der die Sequenz aufhört, Schritt)
Angenommen, wir müssen eine Folge von Zahlen von 1 bis 10 mit einem Schritt oder einer Differenz von 1 erstellen, sodass wir diese Bereichsfunktion wie folgt verwenden:
numbers = vary(1,11)
for i in numbers:
print(i)
Drucken der Zahlen mit der Bereichsfunktion (Bild vom Autor)
Beachten Sie, dass wir ’11‘ als die Zahl angegeben haben, bei der die Sequenz aufhört. Dies liegt daran, dass nach der Syntax die letzte Zahl innerhalb des Bereichs liegt, dh im obigen Beispiel weniger als 11 = 10.
Wenn wir die Variable drucken möchten numbersWir werden in der jeweiligen Sequenz keine Liste dieser Zahlen erhalten. Wir erhalten jedoch einen Reichweitedatenatyp. Dies liegt daran, dass der Bereich DataType die Sequenz im Speicher des Computer systems nicht so speichert, wie eine Liste ihre Elemente speichert. Wir können den Zahlenbereich nicht mit einer Liste gleichsetzen.
numbers = vary(1,11)
print(numbers)
Drucken des Bereichs (Bild des Autors)
Für Schleife
Als nächstes müssen wir diese Zahlen durchführen. Python Loops sind unsere Anlaufstelle für jede Artwork von Iteration. In diesem Tutorial erfahren wir die beiden Schleifen und erzielen das obige Ergebnis mit beiden.
Nun, da wir über den zuvor definierten Bereich iteriert werden, was in unserem Fall von 1 bis 100 liegen würde, mit dem Standardschritt von 1 (wir können das weglassen), werden wir die verwenden for Schleifen und diese zur Verfügung stellen vary. Aber zuerst werden wir eine Variable bezeichnet complete Damit wird die Summe der Zahlenfolge nach jeder Iteration gespeichert. Der Wert von complete wird anfangs 0 sein und mit jeder Iteration erhöht. In der ersten Iteration, wenn wir von 1 bis 100 schleifen, beträgt die Gesamtsumme 1. In der zweiten Iteration beträgt es 1 + 2 = 3. In der dritten Iteration beträgt es 3 + 3 = 6 und so weiter.
Wir werden den Wert ausdrucken complete Am Ende. Sehen Sie, es beträgt 5050, den gleichen Wert wie Gauß.
numbers = vary(1,101)
complete = 0
for i in numbers:
complete = complete + i
print("Complete: ", complete)
Totak verwendet für Schleife (Bild vom Autor)
Während der Schleife
Eine andere Möglichkeit, die obige Aufgabe zu erledigen, besteht darin, Python zu verwenden whereas Schleife. Der whereas Schleife funktioniert, bis eine bestimmte Bedingung falsch wird. In unserem Fall müssen wir eine Variable initialisieren iGeben Sie ihm den Startwert von 1 und erhöhen Sie ihn nur um 1, damit es die Liste durchschlägt, bis sie 101 erreicht. Bei i = 101, die whereas Loops Zustand wird falsch und wird so aufhören. Der Wert complete wird gedruckt.
numbers = vary(1,101)
complete = 0
i = 1
whereas i in numbers:
complete = complete + i
i = i + 1
print("Complete: ", complete)
Ausgabe mit whereas Loop (Bild vom Autor)
Abschluss
In diesem kurzen Artikel haben wir die verwendet vary Funktionen Sie eine schnellere Möglichkeit, unsere Aufgabe zu überwinden, Zahlen von 1 bis 100 zu definieren. Wir haben dann beide verwendet for und die whereas Schleifen, um das Drawback der Addition zu lösen, und beide konnten uns das richtige Ergebnis geben.
Wie bei solchen Entscheidungen zu sehen ist, funktioniert eine Technik besser als die andere. Was conflict Ihrer Meinung nach besser in der Lösung der Gaußschen Herausforderung? whereas Schleife oder die for Schleife? Denken Sie in Bezug auf Komplexität, Zeit, Verwendungsgedächtnis und Klarheit nach. Eines ist eindeutig besser als der andere. Teilen Sie teilen, welcher Sie denken, was Sie für besser halten als das andere und warum. Ich freue mich auf Ihre Kommentare!