Exercícios de C/C++ para iniciantes

Máximo divisor comum em C e C++

Nesta lição, você vai encontrar o máximo divisor comum (MDC) de dois inteiros com o algoritmo de Euclides.

Introdução

O máximo divisor comum (MDC) de dois números é o maior número que divide os dois. O algoritmo de Euclides encontra o MDC trocando repetidamente o par (a, b) por (b, resto da divisão de a por b), até o resto ser 0.

Pontos importantes

  • Ative os avisos do compilador (compiler warnings) e corrija todos eles.
  • Entenda o tipo de dado e o tempo de vida (lifetime) de cada valor.
  • Sempre valide os dados de entrada e os limites dos índices de arrays.

Exemplos de código C e C++

C
Executar →
main.c
#include <stdio.h>
int main(void) {
    int left = 48, right = 18;
    // Reduce the pair until no remainder remains.
    while (right) { int remainder = left % right; left = right; right = remainder; }
    printf("gcd=%d\n", left);
}
Resultado da execução
gcd=6
C++
Executar →
main.cpp
#include <iostream>
#include <numeric>
int main() {
    // std::gcd implements Euclid's algorithm.
    std::cout << "gcd=" << std::gcd(48, 18) << '\n';
}
Resultado da execução
gcd=6

Comparação entre C e C++

Em cada repetição, o programa calcula remainder = left % right e depois faz left = right e right = remainder. Quando right chega a 0, o valor que sobra em left é o MDC. Para 48 e 18, o resultado é gcd=6.

C

C usa funções procedurais pequenas e deixa à vista como os dados ficam na memória.

C++

C++ continua permitindo trabalhar em baixo nível, mas acrescenta tipos da biblioteca e abstrações mais seguras.

Exercícios práticos

Execute as duas versões e depois mude o código para observar a diferença de segurança que cada linguagem oferece.

  • Teste entradas inválidas e valores nos limites.
  • Compile com as flags -Wall -Wextra -Wpedantic para ativar mais avisos.
  • Separe as declarações compartilhadas em um arquivo de cabeçalho e a implementação em outro arquivo.

Pratique com um desafio

Use o conteúdo desta lição para resolver um problema real. Cada desafio roda no navegador, com testes instantâneos e uma revisão por IA.

Todos os desafios