Greatest Common Divisor
Este exercício para iniciantes pratica a sintaxe essencial e a resolução de problemas por meio de Greatest Common Divisor.
O que é Greatest Common Divisor?
Este exercício para iniciantes pratica a sintaxe essencial e a resolução de problemas por meio de Greatest Common Divisor.
Resolva Greatest Common Divisor em C e C++ com código executável.
Pontos importantes
- Ative os avisos do compilador e corrija todos.
- Conheça o tipo e o lifetime de cada valor.
- Valide entradas e limites de arrays.
Exemplos de código C e C++
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);
}
gcd=6
C++
main.cpp
#include <iostream>
#include <numeric>
int main() {
// std::gcd implements Euclid's algorithm.
std::cout << "gcd=" << std::gcd(48, 18) << '\n';
}
gcd=6
Comparação entre C e C++
Compare as implementações em C e C++, altere a entrada e teste casos extremos adicionais.
C
C expõe APIs procedurais pequenas e detalhes de representação.
C++
C++ preserva o modelo de baixo nível e adiciona tipos mais seguros.
Exercícios práticos
Execute as duas versões e modifique-as para observar suas garantias.
- Adicione entradas inválidas e valores limite.
- Compile com -Wall -Wextra -Wpedantic.
- Separe declarações e implementação.