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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
|
#include <stdio.h>
#include<conio.h>
#include<math.h>
int main(int argc, char *argv[])
{
int nombre1_entre = 0;
int nombre2_entre = 0;
int tableau_diviseurs_de_nombre1[100]={1};
int tableau_diviseurs_de_nombre2[100]={1};
int position_diviseur_nombre1 = 1;
int position_diviseur_nombre2 = 1;
int boucle_diviseurs_nombre1 = 0;
int boucle_diviseurs_nombre2 = 0;
int commun_diviseur = 1;
int diviseur;
printf("Ce programme permet de déterminer le PGCD et le PPCM de deux nombres donnes\n\n");
printf("\n\nEntrez le premier nombre : ");
scanf("%d",&nombre1_entre);
printf("\n\nEntrez le second nombre : ");
scanf("%d",&nombre2_entre);
// Détermination de tous les diviseurs de nombre1_entré
diviseur = 0;
printf("\n\nListe de tous les diviseurs du premier nombre : \n\n%d\t",tableau_diviseurs_de_nombre1[0]);
for(diviseur = 2 ; diviseur <= nombre1_entre ; diviseur++)
{
if (nombre1_entre%diviseur==0 && diviseur<=nombre1_entre)
{
tableau_diviseurs_de_nombre1[position_diviseur_nombre1]=diviseur;
printf("%d\t",tableau_diviseurs_de_nombre1[position_diviseur_nombre1]);
position_diviseur_nombre1++;
}
}
printf("\n\n");
// Détermination de tous les diviseurs de nombre2_entré
diviseur = 0;
printf("\n\nListe de tous les diviseurs du deuxieme nombre : \n\n%d\t",tableau_diviseurs_de_nombre2[0]);
for(diviseur = 2 ; diviseur <= nombre2_entre ; diviseur++)
{
if (nombre2_entre%diviseur==0 && diviseur<=nombre2_entre)
{
tableau_diviseurs_de_nombre2[position_diviseur_nombre2]=diviseur;
printf("%d\t",tableau_diviseurs_de_nombre2[position_diviseur_nombre2]);
position_diviseur_nombre2++;
}
}
printf("\n\n\n");
// Déterminations des diviseurs communs
for (boucle_diviseurs_nombre1 = 0 ; boucle_diviseurs_nombre1 == position_diviseur_nombre1 ; boucle_diviseurs_nombre1++);
{
printf("%d\t%d\n",boucle_diviseurs_nombre1,boucle_diviseurs_nombre2);
for (boucle_diviseurs_nombre2 = 0 ; boucle_diviseurs_nombre2 == position_diviseur_nombre2 ; boucle_diviseurs_nombre2++)
{
if (tableau_diviseurs_de_nombre1[boucle_diviseurs_nombre1] == tableau_diviseurs_de_nombre2[boucle_diviseurs_nombre2] && tableau_diviseurs_de_nombre1[boucle_diviseurs_nombre1] !=0 && tableau_diviseurs_de_nombre2[boucle_diviseurs_nombre2] !=0)
{
commun_diviseur = commun_diviseur * tableau_diviseurs_de_nombre1[boucle_diviseurs_nombre1];
}
}
}
printf("Le PGCD de %d et de %d est %d\n\n\n",nombre1_entre,nombre2_entre,commun_diviseur);
return 0;
} |
Partager