Joao_Joao

Questão 264 Lista de Exercícios IFPB

Mar 18th, 2024
966
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.05 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int menorDivisor(int n1, int n2, int n3) {
  4.     int fator = 2;
  5.    
  6.     // enquanto tal fator nao dividir nenhum dos 3 numeros
  7.     while ( n1 % fator != 0 && n2 % fator != 0 && n3 % fator != 0 ) {
  8.         fator++;
  9.     }
  10.    
  11.     return fator;
  12. }
  13.  
  14. int mmc(int n1, int n2, int n3) {
  15.     if (n1 == 1 && n2 == 1 && n3 == 1) {
  16.         return 1;
  17.     }
  18.    
  19.     int menor = menorDivisor(n1, n2, n3);
  20.    
  21.     if (n1 % menor == 0) {
  22.         n1 /= menor;    
  23.     }
  24.    
  25.     if (n2 % menor == 0) {
  26.         n2 /= menor;
  27.     }
  28.    
  29.     if (n3 % menor == 0) {
  30.         n3 /= menor;
  31.     }
  32.    
  33.     return menor * mmc(n1, n2, n3);
  34. }
  35.  
  36. void main() {
  37.     // leitura
  38.     int n1, n2, n3;
  39.    
  40.     printf("Informe o valor do primeiro numero: ");
  41.     scanf("%d", &n1);
  42.    
  43.     printf("Informe o valor do segundo numero: ");
  44.     scanf("%d", &n2);
  45.    
  46.     printf("Informe o valor do terceiro numero: ");
  47.     scanf("%d", &n3);
  48.    
  49.     int ans = mmc(n1, n2, n3);
  50.     printf("O MMC destes 3 numeros eh: %d", ans);
  51.    
  52.     getch();
  53. }
  54.  
Advertisement
Add Comment
Please, Sign In to add comment