>> SPEAKER 1: Šajā pēdējā versijā sigma, es īsteno to, ko es gribētu nosaukt
iteratīvs risinājums, kuru es izmantoju priekšu cilpa saskaitīt visus
numurus starp 1 un m, pēc tam atpakaļ summu.
>> Bet izrādās, mēs varam izmantot citu paņēmiens, lai īstenotu to pašu
funkciju, tehniku pazīstams kā rekursijas.
Rekursīvas funkcijas, tā sakot, ir tikai viens, kas sevi dēvē.
Tagad, un pats par sevi, ka varētu būt problēma.
Ja funkcija vienkārši sevi dēvē kas sevi dēvē kas sevi dēvē,
šis process varētu bot kādreiz beigsies.
Bet tik ilgi, kamēr mēs iekļaut tā saukto bāzes scenārijs, nosacījums, kas nodrošina
ka dažās situācijās mēs saucam paši, ka process ir citādi
bezgalīgs looping būtu jāpārtrauc.
>> Pieņemsim tagad reimplement sigma šādi.
Ja n ir mazāks par vai vienāds ar 0, Es vienkārši, un diezgan patvaļīgi,
gatavojas atgriezties 0.
Cits, ko es esmu gatavojas darīt, ir faktiski aprēķināt Sigma pozitīvo int
, ka es esmu bijis nodots.
>> Tagad, kas ir sigma no m?
Nu, sigma un m ir, protams, 1 summa līdz ar m.
Bet, ja mēs domājam par to citā veidā, tas ir vienkārši un m plus m summa
mīnus 1 plus m mīnus 2, un tā tālāk, līdz galam ar 1.
Tātad šajā ziņā, šķiet, ka Es varētu vienkārši atgriezties m plus.
>> Un tad man ir nepieciešams m mīnus 1 plus m mīnus 2.
Bet man ir funkcija, kas var dot man tieši šo atbildi, proti,
sigma no m mīnus 1.
>> Tagad, aicinot sevi šādā veidā nav šķist labākā ideja.
Jo, ja sigma aicina sigma kas prasa sigma kas aicina Sigma, jūs
Varētu domāt, ka šis process varētu kādreiz beigties.
Bet tas ir iemesls, kāpēc mums bija ts bāzes gadījumā augšpusē šo funkciju.
Ja nosacījums, kas pārbauda, ​​vai m ir mazāks vai vienāds ar 0 Es netaisos
, lai izsauktu sevi.
Es esmu nevis gatavojas atgriezties 0, kas savukārt tiks pievienots
iepriekšējie skaitļi, kas es esmu apkopojot augšu, tādējādi pārtraucot šo
citādi bezgalīgs process.
>> Pieņemsim tagad redzēt, ja šī jaunā īstenošanas darbi.
Pieņemsim, saglabāt, apkopot un palaist šo programmu.
Padarīt Sigma 1 punkts slash Sigma 1.
Un pieņemsim sniegt tai pašus skaitļus kā agrāk.
2, kas, cerams, man 3.
Let 'nodrošināt to ar 3, kas būtu cerams man 6.
Un pieņemsim, visbeidzot sniedz tai 50, kas tiešām dod man 1275.