Exercice 21
Énoncé
Écrire un programme qui détermine la n
ième
valeur u n (n étant fourni en donnée) de la
« suite de Fibonacci » définie comme suit :
u1 = 1
u2 = 1
u n = u n-1 + u n-2 pour n>2
#include
using namespace std ;
main()
{
int u1, u2, u3 ; /* pour "parcourir" la suite */
int n ; /* rang du terme demandé */
int i ; /* compteur */
do
{ cout << "rang du terme demandé (au moins 3) ? " ;
cin >> n ;
}
while (n<3) ;
u2 = u1 = 1 ; /* les deux premiers termes */
i = 2 ;
while (i++ <= n) /* attention, l'algorithme ne fonctionne */
{ u3 = u1 + u2 ; /* que pour n > 2 */
u1 = u2 ;
u2 = u3 ;
}
// autre formulation possible :
// for (i=3 ; i<=n ; i++, u1=u2, u2=u3) u3 = u1 + u2 ;
cout << "Valeur du terme de rang " << n << " : " << u3 ;
}
Notez que, comme à l’accoutumée en C++, beaucoup de formulations sont possibles.
Nous en avons d’ailleurs placé une seconde en commentaire de notre programme.
48
Précédent

- 49/398

Suivant