1 00:00:00,000 --> 00:00:03,110 >> SIARADWR 1: Yn y fersiwn olaf o sigma, yr wyf yn rhoi ar waith yr hyn y byddwn yn galw 2 00:00:03,110 --> 00:00:06,570 ateb ailadroddol, lle yr wyf yn defnyddio dolen ymlaen i gyfrif i fyny bob un o'r 3 00:00:06,570 --> 00:00:09,720 rhifau rhwng 1 a m, wedi hynny dychwelyd y swm. 4 00:00:09,720 --> 00:00:12,560 >> Ond mae'n troi allan y gallwn ddefnyddio un arall dechneg i weithredu yr un 5 00:00:12,560 --> 00:00:15,120 swyddogaeth, techneg a elwir yn recursion. 6 00:00:15,120 --> 00:00:19,360 Swyddogaeth ailadroddus, fel petai, yn syml, un sy'n galw ei hun. 7 00:00:19,360 --> 00:00:21,290 Yn awr, yn ac o ei hun, bod gallai fod yn broblem. 8 00:00:21,290 --> 00:00:24,500 Os swyddogaeth yn syml yn galw ei hun sy'n galw ei hun sy'n galwadau ei hun, 9 00:00:24,500 --> 00:00:26,080 Efallai y broses honno bot byth yn dod i ben. 10 00:00:26,080 --> 00:00:30,490 Ond cyn belled ag y byddwn yn cynnwys hyn a elwir yn achos sylfaenol, cyflwr sy'n sicrhau 11 00:00:30,490 --> 00:00:34,930 mewn rhai sefyllfaoedd, nid ydym yn galw ein hunain, y broses honno fel arall 12 00:00:34,930 --> 00:00:37,070 Dylai dolennu anfeidrol yn dod i ben. 13 00:00:37,070 --> 00:00:39,180 >> Gadewch i ni yn awr reimplement sigma fel a ganlyn. 14 00:00:39,180 --> 00:00:43,810 Os yw n yn llai na neu'n hafal i 0, rwy'n yn syml, a braidd yn fympwyol, 15 00:00:43,810 --> 00:00:45,670 mynd i ddychwelyd 0. 16 00:00:45,670 --> 00:00:49,370 Arall hyn yr wyf i'n mynd i wneud mewn gwirionedd gyfrifo sigma ar gyfer y int cadarnhaol 17 00:00:49,370 --> 00:00:50,460 fy mod i wedi bod yn rhoi. 18 00:00:50,460 --> 00:00:52,050 >> Nawr, beth yw sigma o m? 19 00:00:52,050 --> 00:00:55,480 Wel, sigma o m yw, wrth gwrs, y swm o 1 i fyny drwy m. 20 00:00:55,480 --> 00:00:58,820 Ond os ydym yn meddwl am y peth y ffordd arall, mae'n syml swm o m plws m 21 00:00:58,820 --> 00:01:02,560 minws 1 a m minws 2 ac yn y blaen, yr holl ffordd i lawr i 1. 22 00:01:02,560 --> 00:01:08,080 Felly, yn hynny o beth, mae'n ymddangos bod Gallwn dim ond ei ddychwelyd m a mwy. 23 00:01:08,080 --> 00:01:10,210 >> Ac yna mae angen m minws wyf 1 plws m minws 2. 24 00:01:10,210 --> 00:01:13,470 Ond mae gen i swyddogaeth a all roi mi union yr ateb hwnnw, sef 25 00:01:13,470 --> 00:01:16,340 sigma m minws 1. 26 00:01:16,340 --> 00:01:19,670 >> Nawr, nid galw fy hun yn y modd hwn yn ymddangos fel y syniad gorau. 27 00:01:19,670 --> 00:01:22,610 Oherwydd os sigma yn galw sigma sy'n galw sigma sy'n galw sigma, yr ydych yn 28 00:01:22,610 --> 00:01:24,480 yn meddwl bod y broses hon Efallai na fydd byth yn dod i ben. 29 00:01:24,480 --> 00:01:27,720 Ond dyna pam y cawsom y sylfaen hyn a elwir yn achos ar frig y swyddogaeth hon. 30 00:01:27,720 --> 00:01:31,540 Mae'r os yw cyflwr sy'n gwirio os m yn llai na neu'n hafal i 0 Dydw i ddim yn mynd 31 00:01:31,540 --> 00:01:32,610 i alw fy hun. 32 00:01:32,610 --> 00:01:37,010 Rydw i'n yn lle mynd i ddychwelyd 0, sy'n yn ei dro yn mynd i gael ei ychwanegu at y 33 00:01:37,010 --> 00:01:39,950 niferoedd blaenorol fy mod i wedi bod yn crynhoi i fyny, a thrwy hynny atal hyn 34 00:01:39,950 --> 00:01:41,740 proses fel arall yn ddiddiwedd. 35 00:01:41,740 --> 00:01:43,710 >> Gadewch i ni yn awr weld os yw hyn newydd gweithredu gwaith. 36 00:01:43,710 --> 00:01:46,510 Gadewch i ni gadw, lunio, a redeg y rhaglen hon. 37 00:01:46,510 --> 00:01:50,640 Gwneud sigma 1 dot slaes sigma 1. 38 00:01:50,640 --> 00:01:52,900 A gadewch i ni roi iddo y yr un nifer ag o'r blaen. 39 00:01:52,900 --> 00:01:55,520 2, a ddylai, gobeithio, roi i mi 3. 40 00:01:55,520 --> 00:01:58,970 Gadewch i ni roi iddo 3, sy'n gobeithio roi i mi 6. 41 00:01:58,970 --> 00:02:03,480 A gadewch i ni yn olaf rhoi iddo 50, a oedd yn wir yn rhoi i mi 1,275. 42 00:02:03,480 --> 00:02:06,130