>> SPEAKER 1: V této poslední verzi sigma, jsem implementoval to, co bych nazval
iterativní řešení, kdy jsem použil vpřed smyčka počítat se všemi
čísla mezi 1 a m, poté vrácení částky.
>> Ale ukazuje se, můžeme použít jiný technika k provedení téhož
funkce, technika známý jako rekurze.
Rekurzivní funkce, abych tak řekl, je prostě ten, který volá sama sebe.
Nyní, samo o sobě, že by mohl být problém.
Je-li funkce jednoduše volá sama sebe, které volá sama sebe, která volá sama sebe,
že proces může Bot někdy skončí.
Ale tak dlouho, jak jsme jsou tzv. referenční případ, stav, který zajišťuje
že v některých situacích se nevolejte sami, že proces jinak
nekonečný smyčkování by měla být zrušena.
>> Pojďme se nyní implementujeme sigma následovně.
Pokud n je menší než nebo rovno 0, jsem jednoduše, a poněkud libovolně,
bude return 0.
Jinak to, co budu dělat, je ve skutečnosti vypočítat Sigma pro pozitivní int
že jsem podal.
>> A teď, co je sigma m?
Tak, sigma m je, samozřejmě, součet 1 až přes m..
Ale pokud si myslíme, že o tom na druhou stranu, je to prostě suma m m plus
minus 1 plus minus m 2, a tak dále, celou cestu až na 1.
Takže v tomto smyslu se zdá, že Mohl bych jednoduše vrátit M plus.
>> A pak musím m mínus 1 plus minus 2 m.
Ale já mám funkci, která může dát mi přesně ta odpověď, a to
sigma m mínus jedna.
>> Nyní, volat sebe tímto způsobem není Zdá se, jako nejlepší nápad.
Protože pokud sigma volá sigma, který volá sigma, který volá sigma, můžete
by si myslel, že tento proces nemusí nikdy skončit.
Ale to je důvod, proč jsme měli tzv. základny pouzdro na vrcholu této funkce.
Pokud podmínka, která kontroluje, zda m je menší nebo rovno 0 Nehodlám
volat sám.
Já místo toho jít vrátit 0, což pak se bude přidán do
předchozí čísla, která jsem sčítat nahoru, čímž se zastaví tento
jinak nekonečný proces.
>> Podívejme se nyní, zda tento nový Provádění stavebních prací.
Pojďme zachránit, sestavit, a spustit tento program.
Ujistěte se sigma 1 tečka lomítko sigma 1.
A pojďme poskytne mu stejná čísla jako předtím.
2, který by měl snad mi dát tři.
Pojďme jí poskytly 3, které by snad dát mi šest.
A pojďme konečně poskytne mu 50, která mi opravdu dává 1275.