Exercice langage C application des structures répétitive 8

Exercice 6.11

 

Calculez le P.G.C.D. de deux entiers naturels entrés au clavier en utilisant l'algorithme d'EUCLIDE.

 


Exercice 6.12

 

Calculez le N-ième terme UN de la suite de FIBONACCI qui est donnée par la relation de récurrence:

U1=1 U2=1 UN=UN-1 + UN-2 (pour N>2)

Déterminez le rang N et la valeur UN du terme maximal que l'on peut calculer si on utilise pour UN :

- le type int

- le type long

- le type double

- le type long double


 

Solution Exercice 6.11

 

#include <stdio.h>
main()
{
int A, B; /* données */
int X, Y, RESTE; /* var. d'aide pour l'algorithme d'Euclide */

do
{
printf("Entrer l'entier A (non nul) : ");
scanf("%d", &A);
}
while(!A);
do
{
printf("Entrer l'entier B (non nul) : ");
scanf("%d", &B);
}
while(!B);

for (RESTE=A, X=A, Y=B ; RESTE ; X=Y, Y=RESTE)
RESTE = X%Y;

printf("Le PGCD de %d et de %d est %d\n", A, B, X);
return 0;
}

Solution Exercice 6.12

 



#include <stdio.h>
main()
{
int U1, U2, UN; /* pour parcourir la suite */
int N; /* rang du terme demandé */
int I; /* compteur pour la boucle */
do
{
printf("Rang du terme demandé : ");
scanf("%d", &N);
}
while(N<1);

U1=U2=1; /* Initialisation des deux premiers termes */
if (N==1)
UN=U1;
else if (N==2)
UN=U2;
else
{
for (I=3 ; I<=N ; I++)
{
UN = U1+U2;
U1 = U2;
U2 = UN;
}
}
printf("Valeur du terme de rang %d : %d\n", N, UN);
return 0;
}

Rang et terme maximal calculable en utilisant les déclarations :



int U1, U2, UN;

(spéc. de format : %d)
U23 = 28657
long U1, U2, UN;
(spéc. de format : %ld)
U46 = 1836311903
double U1, U2, UN;
(spéc. de format : %e)
U1476 = 1.306989e308
long double U1, U2, UN;
(spéc. de format : %Le)
U23601 = 9.285655e4931