Ed
semana passada
O trecho de código apresentado é uma implementação da função que calcula o máximo divisor comum (MDC) de dois números inteiros usando o algoritmo de Euclides. Vamos analisar a função `comp(int a, int b)`: 1. A função verifica se `b` é igual a 0. Se for, retorna `a`, que é o resultado final do MDC. 2. Se `b` não for 0, a função chama a si mesma com os parâmetros `b` e `a % b` (o resto da divisão de `a` por `b`). No `main`, a função é chamada com os valores `15` e `20`. - Primeira chamada: `comp(15, 20)` - Como `20` não é 0, chama `comp(20, 15 % 20)` → `comp(20, 15)` - Segunda chamada: `comp(20, 15)` - Como `15` não é 0, chama `comp(15, 20 % 15)` → `comp(15, 5)` - Terceira chamada: `comp(15, 5)` - Como `5` não é 0, chama `comp(5, 15 % 5)` → `comp(5, 0)` - Quarta chamada: `comp(5, 0)` - Agora `b` é 0, então retorna `5`. Portanto, o valor impresso após a execução do código é `5`.