#include <stdio.h>

// Função recursiva para calcular o MDC usando o Algoritmo de Euclides
int mdc(int a, int b) {
    if (b == 0) {
        return a; // Caso base: se b é 0, o MDC é a
    }
    return mdc(b, a % b); // Chamada recursiva
}

// Função para calcular o MMC a partir do MDC
int mmc(int a, int b) {
    return (a * b) / mdc(a, b); // Relação MMC e MDC
}

int main() {
    int num1, num2;

    printf("Digite dois números inteiros positivos:\n");
    printf("Número 1: ");
    scanf("%d", &num1);
    printf("Número 2: ");
    scanf("%d", &num2);

    if (num1 <= 0 || num2 <= 0) {
        printf("Por favor, insira apenas números inteiros positivos.\n");
    } else {
        int resultadoMDC = mdc(num1, num2);
        int resultadoMMC = mmc(num1, num2);

        printf("O MDC de %d e %d é: %d\n", num1, num2, resultadoMDC);
        printf("O MMC de %d e %d é: %d\n", num1, num2, resultadoMMC);
    }

    return 0;
}
