>> ΟΜΙΛΗΤΗΣ 1: Σε αυτή την τελευταία έκδοση του σίγμα, θα εφαρμοστεί αυτό που θα ονόμαζα
μια επαναληπτική λύση, σύμφωνα με την οποία θα χρησιμοποιηθεί ένα μπροστά βρόχο για να μετρήσει μέχρι όλα τα
αριθμοί μεταξύ 1 και m, στη συνέχεια την επιστροφή του ποσού.
>> Αλλά τελικά μπορούμε να χρησιμοποιήσουμε ένα άλλο τεχνική για να εφαρμόσει την ίδια
τη λειτουργία, μια τεχνική γνωστή ως αναδρομή.
Μια αναδρομική συνάρτηση, να το πω έτσι, είναι απλά αυτό που καλεί τον εαυτό της.
Τώρα, και αυτή η ίδια, ότι θα μπορούσε να είναι ένα πρόβλημα.
Αν μια συνάρτηση αυτοαποκαλείται απλά που αυτοαποκαλείται η οποία καλεί,
ότι η διαδικασία μπορεί να bot τελειώσει ποτέ.
Αλλά εφ 'όσον έχουμε περιλαμβάνουν μια λεγόμενη βασική περίπτωση, μία προϋπόθεση που διασφαλίζει
ότι σε ορισμένες καταστάσεις που δεν απαιτούν τους εαυτούς μας, ότι η διαδικασία με άλλο τρόπο
άπειρη looping πρέπει να σταματήσει.
>> Ας δούμε τώρα Νέα υλοποίηση σίγμα ως ακολούθως.
Εάν n είναι μικρότερη ή ίση με 0, είμαι απλά, και κάπως αυθαίρετα,
πρόκειται να επιστρέψει 0.
Αλλιώς τι Πάω να κάνουμε είναι πραγματικότητα υπολογίσουμε σίγμα για το θετικό int
ότι έχω παραδοθεί.
>> Τώρα, τι είναι σίγμα m;
Λοιπόν, σίγμα του m είναι, φυσικά, το άθροισμα του 1 μέσα από m.
Αλλά αν σκεφτούμε τον άλλο τρόπο, είναι απλά το άθροισμα των m συν m
μείον 1 συν Μ μείον 2 και ούτω καθεξής, σε όλη τη διαδρομή προς 1.
Έτσι, με αυτή την έννοια, φαίνεται ότι Θα μπορούσα απλά να επιστρέψει m συν.
>> Και τότε θα πρέπει m μείον 1 m συν πλην 2.
Αλλά έχω μια λειτουργία που μπορεί να δώσει Θέλω ακριβώς η απάντηση, δηλαδή
σίγμα πι του μείον 1.
>> Τώρα, καλώντας τον εαυτό μου με αυτόν τον τρόπο δεν φαίνεται σαν η καλύτερη ιδέα.
Γιατί αν σίγμα σίγμα καλεί η οποία καλεί σίγμα οποία καλεί σίγμα, σας
Θα νόμιζε κανείς ότι αυτή η διαδικασία μπορεί να μην τελειώσει ποτέ.
Αλλά γι 'αυτό είχαμε τη λεγόμενη βάση περίπτωση στην κορυφή αυτής της λειτουργίας.
Το αν η κατάσταση που ελέγχει αν το m είναι μικρότερη ή ίση με 0 Δεν θα πάω
να αποκαλέσω τον εαυτό μου.
Είμαι αντί να πηγαίνει να επιστρέψει 0, η οποία με τη σειρά του πρόκειται να προστεθούν στο
προηγούμενων αριθμών που έχω αθροίζοντας up, σταματώντας έτσι αυτό
διαφορετικά άπειρη διαδικασία.
>> Ας δούμε τώρα αν αυτή η νέα υλοποίηση έργων.
Ας σώσει, την κατάρτιση, και εκτελέσετε αυτό το πρόγραμμα.
Κάντε σίγμα 1 dot κάθετος σ 1.
Και ας το δώσει με το ίδιους αριθμούς όπως πριν.
2, η οποία θα πρέπει να δώσει ελπίζουμε μου 3.
Ας δώσει 3, η οποία θα πρέπει να δώσει ελπίζουμε μου 6.
Και ας παρέχει τελικά με 50, η οποία μου δίνει πράγματι 1.275.