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.