1 00:00:00,000 --> 00:00:03,110 >> Sprecher 1: In dieser letzten Version sigma, implementiert ich, was ich nennen würde, 2 00:00:03,110 --> 00:00:06,570 eine iterative Lösung, wobei ich eine Vorwärtsschleife zu zählen bis alle die 3 00:00:06,570 --> 00:00:09,720 Zahlen zwischen 1 und m, danach Rücksendung der Summe. 4 00:00:09,720 --> 00:00:12,560 >> Aber es stellt sich heraus, können wir anderen zu bedienen Technik, um das gleiche zu implementieren 5 00:00:12,560 --> 00:00:15,120 Funktion, eine Technik als Rekursion bekannt. 6 00:00:15,120 --> 00:00:19,360 Eine rekursive Funktion, so zu sprechen, ist einfach eine, die sich selbst aufruft. 7 00:00:19,360 --> 00:00:21,290 Jetzt, in und von sich selbst, dass könnte ein Problem sein. 8 00:00:21,290 --> 00:00:24,500 Wenn eine Funktion nennt sich einfach die nennt sich das selbst Anrufe, 9 00:00:24,500 --> 00:00:26,080 dieser Prozess kann je Bot beenden. 10 00:00:26,080 --> 00:00:30,490 Aber so lange wir sind eine so genannte Basisfall, ein Zustand, der gewährleistet, 11 00:00:30,490 --> 00:00:34,930 dass in einigen Situationen, die wir nicht nennen uns selbst, dass Prozess der sonst 12 00:00:34,930 --> 00:00:37,070 Endlosschleife aufhören sollte. 13 00:00:37,070 --> 00:00:39,180 >> Lassen Sie uns nun neu implementieren Sigma wie folgt. 14 00:00:39,180 --> 00:00:43,810 Wenn n kleiner als oder gleich 0 ist, ich bin einfach und etwas willkürlich, 15 00:00:43,810 --> 00:00:45,670 geht auf 0 zurück. 16 00:00:45,670 --> 00:00:49,370 Else, was ich tun werde, ist eigentlich Sigma berechnen für die positive int 17 00:00:49,370 --> 00:00:50,460 dass ich übergeben worden. 18 00:00:50,460 --> 00:00:52,050 >> Nun, was ist der Sigma-m? 19 00:00:52,050 --> 00:00:55,480 Nun, Sigma von m ist, natürlich, die Summe von 1 bis m durch. 20 00:00:55,480 --> 00:00:58,820 Aber wenn wir darüber nachdenken die andere Richtung, es ist einfach die Summe der m plus m 21 00:00:58,820 --> 00:01:02,560 minus 1 plus M minus 2 und so weiter, den ganzen Weg bis zu 1. 22 00:01:02,560 --> 00:01:08,080 In diesem Sinne scheint es, dass Ich konnte einfach wieder m plus. 23 00:01:08,080 --> 00:01:10,210 >> Und dann muss ich m minus 1 plus minus 2 m. 24 00:01:10,210 --> 00:01:13,470 Aber ich habe eine Funktion, die geben können, mir genau die Antwort, nämlich 25 00:01:13,470 --> 00:01:16,340 Sigma von minus 1 m. 26 00:01:16,340 --> 00:01:19,670 >> Nun, ich selbst ruft auf diese Weise nicht scheinen, wie die beste Idee. 27 00:01:19,670 --> 00:01:22,610 Denn wenn Sigma Sigma ruft die Anrufe Sigma, die Sigma ruft, können Sie 28 00:01:22,610 --> 00:01:24,480 denken würde, dass dieser Prozess vielleicht nicht immer am Ende. 29 00:01:24,480 --> 00:01:27,720 Aber das ist, warum wir das so genannte Basis Bei am oberen Rand dieser Funktion. 30 00:01:27,720 --> 00:01:31,540 Die if-Bedingung, die, wenn m prüft weniger als oder gleich 0 Ich werde nicht 31 00:01:31,540 --> 00:01:32,610 , mich anzurufen. 32 00:01:32,610 --> 00:01:37,010 Ich werde stattdessen auf 0 zurück, was wiederum wird zu der hinzugefügt werden 33 00:01:37,010 --> 00:01:39,950 früheren Zahlen, die ich habe Summieren auf, wodurch diese zu stoppen 34 00:01:39,950 --> 00:01:41,740 ansonsten unendlichen Prozesses. 35 00:01:41,740 --> 00:01:43,710 >> Lassen Sie uns nun sehen, ob das neue Umsetzung funktioniert. 36 00:01:43,710 --> 00:01:46,510 Retten wir, kompilieren und führen Sie dieses Programm. 37 00:01:46,510 --> 00:01:50,640 Machen Sigma-1-Punkt-Schrägstrich-Sigma-1. 38 00:01:50,640 --> 00:01:52,900 Und lassen Sie stellt ihr die elben Nummern wie zuvor. 39 00:01:52,900 --> 00:01:55,520 2, die hoffentlich geben sollte mich 3. 40 00:01:55,520 --> 00:01:58,970 Wir werden das es mit 3, die hoffentlich geben Sie mir 6. 41 00:01:58,970 --> 00:02:03,480 Und lassen Sie uns endlich liefern sie mit 50, die in der Tat gibt mir 1275. 42 00:02:03,480 --> 00:02:06,130