Informática, perguntado por PauloDosLagos, 1 ano atrás

Gente, me ajudem por favor, é urgente!! Crie um algoritimo na Linguagem C que leia três números e imprima o calculo do MMC entre esses numeros.

Soluções para a tarefa

Respondido por jvsilvictorox7rfj
1


SEGUE O CÓDIGO EM 'C'  COM SUB-ROTINA:


#include <stdio.h>

int MMC(int n1,int n2, int n3)
{
    int maior = n1;
    if(n2 > maior) maior = n2;
    if(n3 > maior) maior = n3;
  
    int MMC = 1;
  
    while(n1!=1 || n2!=1 || n3!=1)
    {
        for(int i = 2; i <= maior; i++)
        {
            if((n1%i == 0)  || (n2%i==0) || (n3%i==0))
            {
                printf("\n%d  %d  %d  -  %d", n1,n2,n3,i);
                MMC*=i;
                if(n1%i == 0) n1 = n1/i;
                if(n2%i == 0) n2 = n2/i;
                if(n3%i == 0) n3 = n3/i;
                break;
            }
        }
       
    }
  
    return MMC;
}

int main()
{
    int n[3];
  
    for(int i=0;i<3;i++)
    {
        printf("Informe o %dº número: ", i+1);
        scanf("%d", &n[i]);
    }
  
    printf("\nMMC(%d,%d,%d) = %d ", n[0],n[1],n[2], MMC(n[0],n[1],n[2]));

    return 0;
}




SEGUE ABAIXO IMAGEM DE UM DOS TESTES:




Anexos:

jvsilvictorox7rfj: Até anexei um print de um dos testes realizados. Usei o "onlinegdb" como compilador. É um site com compilador de diversas linguagens.
PauloDosLagos: eei
PauloDosLagos: coloca tudo desde as bibliotecas por favor!
jvsilvictorox7rfj: O código está completo. Não há necessidade de nenhuma bibloteca. A stdio já vem inclusa até por padrão.
PauloDosLagos: e o int main()
PauloDosLagos: eu faço pelo code blocks
jvsilvictorox7rfj: int main() está aí no código.
PauloDosLagos: ele está quase no fim, ele fica no início do código
PauloDosLagos: mas ta bom, vlw. Eu não uso o mesmo compilador que você
jvsilvictorox7rfj: Ele deve ficar depois da sub-rotina já que ela é usada dentro do main. Você pode declarar só o cabeçalho da rotina também, antes do main e jogar ela pra depois dele. Porém, como dito, obrigatoriamente o cabeçalho deve estar antes do main.
Respondido por ffaguiar
0

Resposta:

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

int main()

{

   int a,b,c,cont,maior=1,mmc=1;

   printf("Digite tres numeros:\n");

   scanf("%d",&a);

       if(maior<a)

       maior=a;

   scanf("\n%d",&b);

       if(maior<b)

       maior=a;

   scanf("\n%d",&c);

       if(maior<c)

       maior=c;

     

       

       for(cont=2;cont<=maior;cont++)

       {

           if(a%cont==0 || b%cont==0 || c%cont==0)

           {

               if(a%cont==0 || b%cont==0 || c%cont==0)

                   mmc=mmc*cont;

               if(a%cont==0){

                   a=a/cont;

               }if(b%cont==0){

                   b=b/cont;

               }if(c%cont==0){

                   c=c/cont;

                   }

               

               }

       }

       

   printf("\n\n\nRESULTADO:----\na=%d\nb=%d\nc=%d\ncont=%d\nmaior=%d\nmmc=%d\n",a,b,c,cont,maior,mmc);

}

Explicação:

Compilado em vsc.

Perguntas interessantes