GŁOŚNIK 1: W tej ostatniej wersji Sigma, I wdrożone, co nazwałbym iteracyjny rozwiązanie, w którym użyłem przodu pętli liczyć się wszystkie numery od 1 do m, następnie zwrotu kwoty. Ale okazuje się, możemy użyć innego Technika do realizacji w tym samym funkcja, technika znany jako rekursji. Funkcja rekurencyjna, że ​​tak powiem, jest po prostu taki, który nazywa siebie. Teraz, sama w sobie, że może być problem. Jeśli po prostu nazywa się funkcja, która domaga się, które nazywa się, że proces może bot kiedyś skończy. Jednakże tak długo, jak długo zawierają tak zwane wariant podstawowy, stan, który zapewnia że w niektórych sytuacjach nie nazywamy się, że proces inaczej nieskończonej pętli powinny przestać. Załóżmy teraz reimplement Sigma następująco. Gdy n jest mniejsze niż lub równe 0, ja po prostu, i nieco arbitralnie, zamierza powrócić 0. Innego, co mam zamiar zrobić, to rzeczywiście obliczyć sigma dla pozytywnego int że byłem przekazał. Teraz, co jest sigma m? Cóż, sigma m jest, oczywiście, Suma 1 w górę przez m. Ale jeśli myślimy o nim w inny sposób, jest to po prostu suma m plus m minus 1 plus minus 2 m i tak dalej, w dół do 1. Tak więc w tym sensie, że wydaje się, że Może po prostu wrócić M plus. A potem muszę m minus 1 plus minus m 2. Ale mam funkcji, które mogą dać mnie właśnie to, że odpowiedź, a mianowicie sigma m minus 1. Teraz, nazywając się w ten sposób nie Wydaje się, że najlepszym pomysłem. Bo jeśli sigma sigma, które wywołuje nazywa sigma sigma który wzywa, ty pomyśli, że ten proces może nie zawsze kończy. Ale dlatego mieliśmy tak zwaną bazę przypadku w górnej części tej funkcji. Jeśli warunek, który sprawdza, czy m jest mniejsza lub równa 0, nie zamierzam nazywać siebie. Mam zamiar wrócić zamiast 0, która z kolei ma być dodany do poprzednie numery, że byłem podsumowujące w górę, zatrzymując w ten sposób to inaczej nieskończony proces. Zobaczmy teraz, czy ta nowa Realizacja robót. Ratujmy, kompilacji i uruchomić ten program. Dodać 1 kropka slash sigma sigma 1. I niech przekazuje jej same numery, jak wcześniej. 2, który powinien dać mi 3 z nadzieją. Miejmy zapewnić mu 3, które powinien dać mi 6 z nadzieją. I niech w końcu zapewnić mu 50, które rzeczywiście daje mi 1275.