>> INTERLOCUTEUR 1: Dans cette dernière version de sigma, j'ai mis en place ce que j'appellerais
une solution itérative, où j'ai utilisé un boucle avant de compter tous les
des nombres compris entre 1 et m, par la suite, retournant la somme.
>> Mais il s'avère que nous pouvons utiliser une autre technique pour mettre en œuvre la même
fonction, une technique connu sous la récursion.
Une fonction récursive, pour ainsi dire, est tout simplement celui qui se dit.
Maintenant, en soi, que pourrait être un problème.
Si une fonction elle-même qui appelle simplement appelle lui-même qui se dit,
ce processus pourrait bot jamais finir.
Mais tant que nous incluons un soi-disant scénario de base, une condition qui assure
que, dans certaines situations, nous n'appelons pas nous-mêmes, ce processus de contraire
boucle infinie doit cesser.
>> Voyons maintenant réimplémentons sigma comme suit.
Si n est inférieur ou égal à 0, je suis tout simplement, et quelque peu arbitraire,
va retourner 0.
Sinon ce que je vais faire est en fait calculer sigma pour l'int positif
que j'ai été remis.
>> Maintenant, ce qui est sigma de m?
Eh bien, sigma de m est, bien sûr, la somme de 1 m à travers.
Mais si nous pensons à ce sujet dans l'autre sens, c'est tout simplement la somme de m plus m
moins 1 m, plus, moins 2, et ainsi de suite, tout le chemin vers le bas à 1.
Donc, dans ce sens, il semble que Je ne pouvais tout simplement retourner m plus.
>> Et puis je dois m moins 1 m + moins 2.
Mais j'ai une fonction qui peut donner moi précisément cette réponse, à savoir
sigma de m moins 1.
>> Maintenant, me demandant de cette façon ne sembler la meilleure idée.
Parce que si sigma appelle sigma qui appelle sigma sigma qui appelle, vous
pourrait penser que ce processus pourraient jamais finir.
Mais c'est pour cela que nous avons eu de la base dite cas en haut de cette fonction.
Si la condition qui vérifie si m est inférieure ou égale à 0, je ne vais pas
m'appeler.
Je place va retourner 0, ce qui à son tour, va être ajouté à la
numéros précédents que j'ai été additionnant vers le haut, ce qui arrête ce
processus sinon infinie.
>> Voyons maintenant si cette nouvelle mise en œuvre fonctionne.
Sauvons, compiler, et exécuter ce programme.
Faire sigma 1 point slash sigma 1.
Et nous allons lui fournir les mêmes numéros que avant.
2, qui devrait, espérons donner moi 3.
Donnons avec 3, qui devrait, espérons me donner 6.
Et nous allons enfin fournir avec 50, ce qui me donne en effet 1275.