>> SIARADWR 1: Yn y fersiwn olaf o sigma, yr wyf yn rhoi ar waith yr hyn y byddwn yn galw
ateb ailadroddol, lle yr wyf yn defnyddio dolen ymlaen i gyfrif i fyny bob un o'r
rhifau rhwng 1 a m, wedi hynny dychwelyd y swm.
>> Ond mae'n troi allan y gallwn ddefnyddio un arall dechneg i weithredu yr un
swyddogaeth, techneg a elwir yn recursion.
Swyddogaeth ailadroddus, fel petai, yn syml, un sy'n galw ei hun.
Yn awr, yn ac o ei hun, bod gallai fod yn broblem.
Os swyddogaeth yn syml yn galw ei hun sy'n galw ei hun sy'n galwadau ei hun,
Efallai y broses honno bot byth yn dod i ben.
Ond cyn belled ag y byddwn yn cynnwys hyn a elwir yn achos sylfaenol, cyflwr sy'n sicrhau
mewn rhai sefyllfaoedd, nid ydym yn galw ein hunain, y broses honno fel arall
Dylai dolennu anfeidrol yn dod i ben.
>> Gadewch i ni yn awr reimplement sigma fel a ganlyn.
Os yw n yn llai na neu'n hafal i 0, rwy'n yn syml, a braidd yn fympwyol,
mynd i ddychwelyd 0.
Arall hyn yr wyf i'n mynd i wneud mewn gwirionedd gyfrifo sigma ar gyfer y int cadarnhaol
fy mod i wedi bod yn rhoi.
>> Nawr, beth yw sigma o m?
Wel, sigma o m yw, wrth gwrs, y swm o 1 i fyny drwy m.
Ond os ydym yn meddwl am y peth y ffordd arall, mae'n syml swm o m plws m
minws 1 a m minws 2 ac yn y blaen, yr holl ffordd i lawr i 1.
Felly, yn hynny o beth, mae'n ymddangos bod Gallwn dim ond ei ddychwelyd m a mwy.
>> Ac yna mae angen m minws wyf 1 plws m minws 2.
Ond mae gen i swyddogaeth a all roi mi union yr ateb hwnnw, sef
sigma m minws 1.
>> Nawr, nid galw fy hun yn y modd hwn yn ymddangos fel y syniad gorau.
Oherwydd os sigma yn galw sigma sy'n galw sigma sy'n galw sigma, yr ydych yn
yn meddwl bod y broses hon Efallai na fydd byth yn dod i ben.
Ond dyna pam y cawsom y sylfaen hyn a elwir yn achos ar frig y swyddogaeth hon.
Mae'r os yw cyflwr sy'n gwirio os m yn llai na neu'n hafal i 0 Dydw i ddim yn mynd
i alw fy hun.
Rydw i'n yn lle mynd i ddychwelyd 0, sy'n yn ei dro yn mynd i gael ei ychwanegu at y
niferoedd blaenorol fy mod i wedi bod yn crynhoi i fyny, a thrwy hynny atal hyn
proses fel arall yn ddiddiwedd.
>> Gadewch i ni yn awr weld os yw hyn newydd gweithredu gwaith.
Gadewch i ni gadw, lunio, a redeg y rhaglen hon.
Gwneud sigma 1 dot slaes sigma 1.
A gadewch i ni roi iddo y yr un nifer ag o'r blaen.
2, a ddylai, gobeithio, roi i mi 3.
Gadewch i ni roi iddo 3, sy'n gobeithio roi i mi 6.
A gadewch i ni yn olaf rhoi iddo 50, a oedd yn wir yn rhoi i mi 1,275.