>> SPEAKER 1: En tiu lasta versio de sigma, mi implementado kion mi nomus
ripeta solvo, per kiu mi uzis antaŭen buklo kalkuli ĉiujn el la
numeroj inter 1 kaj m, poste redonante la rezulton.
>> Sed ĝi rezultas ni povas uzi alian tekniko apliki tiun saman
funkcio, tekniko konata kiel rikuro.
A rekursia funkcio, por tiel diri, Estas simple, kiu nomas sin.
Nun, en kaj de si mem, ke povus esti problemo.
Se funkcio simple nomas sin kiu nomas sin kiu nomas sin,
tiu procezo eble bot iam finos.
Sed tiom longe kiom ni inkluzivas tn bazo kazo, kondiĉo kiu certigas
ke en iuj situacioj, ni ne nomas ni mem, ke la procezo de alie
senfina looping devus ĉesi.
>> Ni nun reimplement sigma jene.
Se n estas malpli ol aŭ egala al 0, mi estas simple, kaj iom arbitre,
tuj revenos 0.
Alie, kion mi faros estas reale komputi sigma por la pozitiva int
ke mi estis transdonita.
>> Nun, kio estas sigma de m?
Nu, sigma de m estas, kompreneble, la sumo de 1 supren tra m.
Sed se ni pensas pri ĝi en la alia direkto, ĝi estas simple la sumo de m plus m
minus 1 plus m minus 2 kaj tiel plu, la tutan vojon malsupren al 1.
Do en tiu senco, ĝi ŝajnas ke Mi povis simple reveni m pli.
>> Kaj tiam mi bezonas m minus 1 plus m minus 2.
Sed mi havas funkcion kiu povas doni mi ĝuste tiun respondon, nome
sigma de m minus 1.
>> Nun, nomante min en tiu maniero faras ne ŝajnas kiel la pli bona ideo.
Ĉar se sigma nomas sigma kiu nomas sigma kiu nomas sigma, vi
kredus ke tiu procezo eble neniam finiĝi.
Sed tio estas kial ni havis la tn bazo kazo ĉe la supro de ĉi tiu funkcio.
La se kondiĉo kiu kontrolas, se m estas malpli ol aŭ egala al 0 Mi ne tuj
voki min.
Mi anstataŭ tuj revenos 0, kiu laŭvice tuj estos aldonitaj al la
antaŭaj numeroj kiu Mi estis sumanta supren, tiel halti ĉi
alie senfina procezo.
>> Ni nun vidi, ĉu ĉi nova efektivigo funkcias.
Ni ŝparas, kompili, kaj kuros ĉi programo.
Faru sigma 1 dot oblikvo sigma 1.
Kaj ni provizas ĝin per la samajn nombrojn kiel antaŭe.
2, kiu devus espereble donos al mi 3.
Ni provizi ĝin per 3, kiu devus espereble donos al mi 6.
Kaj ni fine provizi ĝin per 50, kio efektive donas min 1.275.