Bonjour,
j'essaie un peu la récursivité en C++, je fais une fonction récursive qui calcule la somme des entiers jusqu'à n donné. Elle affiche également "0 + 1 + ... + n = somme", mais alors qu'elle devrait cesser de s'appeler lorsqu'un compteur incrémenté à chaque appel atteint n, hé bien elle continue un peu, allez savoir pourquoi.
Voici le code :
Code c++ : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 void somme_entiers(int n) { static int i = 0; static int somme = 0; if( i < n) { cout << i << " + "; somme += i; i++; somme_entiers(n); } if( i == n) { somme += n; cout << n << " = " << somme << endl; } } int main() { int n; if( read_integer(n, 0) ) //fonction perso pour sécuriser la saisie { cout << "nombre : " << n << endl; somme_entiers(n); } return 0; }
Une idée ?
Merci d'avance.
Partager