დინამიკები 1: In, რომ გასულ მობილური sigma, მე ახორციელებს რა მინდა მოვუწოდო iterative გამოსავალი, რომლის დროსაც მე გამოიყენება forward loop ითვლიან up ყველა ნომერი 1 და მ, შემდეგ დაბრუნების თანხა. მაგრამ აღმოჩნდება, რომ ჩვენ შეგვიძლია გამოვიყენოთ სხვა ტექნიკა განახორციელოს იმავე ფუნქცია, ტექნიკა ცნობილია, როგორც უკან. რეკურსიული ფუნქცია, ასე ვთქვათ, უბრალოდ ერთი რომელიც მოუწოდებს თავად. ახლა, და თავისთავად, რომ შეიძლება იყოს პრობლემა. იმ შემთხვევაში, თუ ფუნქცია უბრალოდ მოუწოდებს თავად, რომელიც მოუწოდებს თავად რომელიც მოუწოდებს თავად, ეს პროცესი შეიძლება Bot ოდესმე დასრულდება. მაგრამ იმდენად, რამდენადაც ჩვენ მოიცავს ე.წ. ბაზის შემთხვევაში, მდგომარეობა, რომელიც უზრუნველყოფს რომ ზოგიერთ სიტუაციაში ჩვენ არ მოვუწოდებთ საკუთარ თავს, რომ პროცესი სხვაგვარად უსასრულო looping უნდა შეწყვიტოს. მოდით ახლა reimplement sigma ასეთია. თუ n ნაკლებია ან ტოლი 0, მე ვარ უბრალოდ, და გარკვეულწილად თვითნებურად, დაბრუნებას აპირებს 0. სხვაგან, რაც მე ვაპირებ ამის გაკეთებას რეალურად გამოთვლაც sigma პოზიტიური int რომ მე უკვე გადასცა. ახლა, რა არის sigma მ? ისე, sigma მ, რა თქმა უნდა, თანხა 1 მეშვეობით ტელ. მაგრამ თუ ჩვენ ვიფიქროთ, რომ სხვა გზა, ეს უბრალოდ თანხა m პლუს m მინუს 1 plus m მინუს 2 და ა.შ., ყველა გზა ქვემოთ 1. ასე რომ, ამ თვალსაზრისით, როგორც ჩანს, შემეძლო უბრალოდ დააბრუნოს m plus. და მერე უნდა m minus 1 plus m მინუს 2. მაგრამ აქვს ფუნქცია, რომ შეუძლია მე ზუსტად რომ პასუხი, კერძოდ, sigma მ მინუს 1. ახლა მოუწოდებენ თავს ამ გზით არ როგორც ჩანს, როგორც საუკეთესო იდეა. რადგან თუ sigma მოუწოდებს sigma რომელიც მოუწოდებს sigma რომელიც მოუწოდებს sigma, თქვენ ვფიქრობ, რომ ეს პროცესი შეიძლება არ ოდესმე დასრულდება. მაგრამ ეს რატომ გვქონდა ე.წ. ბაზა შემთხვევაში ზედა ამ ფუნქციას. თუ მდგომარეობა, რომელიც ამოწმებს, თუ მ ნაკლებია ან ტოლი 0 მე არ ვაპირებ მოვუწოდებთ თავს. მე ნაცვლად დაბრუნებას აპირებს 0, რომელიც თავის მხრივ უნდა დაემატოს წინა ციფრები, რომ მე უკვე შემაჯამებელი up, რითაც შეჩერების ამ წინააღმდეგ შემთხვევაში უსასრულო პროცესში. მოდით ახლა ვნახოთ, თუ ამ ახალი შესრულების სამუშაოები. გადავარჩინოთ, კომპილაციის, და აწარმოებს ამ პროგრამის. რათა sigma 1 dot slash sigma 1. და მოდით მიაწოდოს იგივე ნომრები, როგორც ადრე. 2, რომელიც უნდა იმედია მომეცი 3. მოდით მიაწოდოს 3, რომელიც უნდა იმედია მომეცი 6. და მოდით საბოლოოდ მიაწოდოს 50, რომელიც მართლაც მაძლევს 1,275.