Exercice 1
#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; }
Exercice 2
#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 |