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.