Introdução
Neste laboratório, vamos escrever um programa em C para encontrar o MMC (Mínimo Múltiplo Comum - LCM, em inglês) de dois números usando recursão. O MMC é o menor inteiro positivo que é divisível por ambos os números sem deixar resto.
Neste laboratório, vamos escrever um programa em C para encontrar o MMC (Mínimo Múltiplo Comum - LCM, em inglês) de dois números usando recursão. O MMC é o menor inteiro positivo que é divisível por ambos os números sem deixar resto.
Antes de começarmos com a programação, vamos entender o conceito de MMC. O MMC de dois inteiros é o menor inteiro positivo que é um múltiplo de ambos os números. Para encontrar o MMC de dois números, podemos usar a seguinte fórmula:
MMC = (número1 * número2) / MDC
Onde número1 e número2 são os dois números para os quais precisamos encontrar o MMC e MDC é o Máximo Divisor Comum (Greatest Common Divisor - GCD, em inglês) dos dois números.
Vamos criar um novo arquivo C chamado main.c no diretório ~/project/ onde escreveremos nosso programa.
Copie e cole o seguinte código no arquivo main.c.
#include<stdio.h>
int find_lcm(int, int); // declaração do protótipo da função
int main()
{
int a, b, lcm;
printf("Digite dois inteiros para encontrar o MMC:\n");
scanf("%d %d", &a, &b);
lcm = find_lcm(a, b); // chamada da função
printf("MMC de %d e %d é %d.\n", a, b, lcm);
return 0;
}
int find_lcm(int a, int b) // definição da função
{
static int temp = 1;
if(temp % a == 0 && temp % b == 0)
return temp;
else
{
temp++;
find_lcm(a, b);
return temp;
}
}
Salve o arquivo main.c e compile o programa usando o seguinte comando no terminal:
gcc main.c -o main
Execute o programa usando o seguinte comando:
./main
Insira dois inteiros quando solicitado e o programa exibirá o MMC dos dois números.
Vamos entender o código que acabamos de escrever.
#include<stdio.h>.find_lcm, que definiremos mais tarde em nosso programa. Isso é necessário porque estamos chamando a função find_lcm em nossa função principal antes de sua definição real.a, b e lcm.printf e aceitamos a entrada usando scanf.find_lcm e passamos a e b como seus argumentos.find_lcm recebe dois argumentos inteiros a e b e retorna o MMC dos dois números usando recursão.temp com 1, que manterá o valor atual que estamos verificando para um múltiplo.temp é um múltiplo de a e b.temp como o MMC.temp e chamamos a função find_lcm recursivamente até encontrarmos o MMC.Teste o programa com diferentes valores de entrada e verifique se ele produz a saída do MMC correta.
Aqui está o código completo para o Programa C para encontrar o MMC de dois números usando recursão:
#include<stdio.h>
int find_lcm(int, int); // declaração do protótipo da função
int main()
{
int a, b, lcm;
printf("Digite dois inteiros para encontrar o MMC:\n");
scanf("%d %d", &a, &b);
lcm = find_lcm(a, b); // chamada da função
printf("MMC de %d e %d é %d.\n", a, b, lcm);
return 0;
}
int find_lcm(int a, int b) // definição da função
{
static int temp = 1;
if(temp % a == 0 && temp % b == 0)
return temp;
else
{
temp++;
find_lcm(a, b);
return temp;
}
}
Neste laboratório, aprendemos como escrever um programa C para encontrar o MMC de dois números usando recursão. Usamos uma função recursiva para encontrar o MMC e explicamos cada etapa do programa em detalhes. Também aprendemos como compilar e executar um programa C usando o terminal.