Ed
há 4 meses
Vamos analisar o código fornecido. O trecho de código em C implementa a função `comp`, que parece ser uma implementação do algoritmo de Euclides para calcular o máximo divisor comum (MDC) entre dois números. A função `comp` funciona da seguinte maneira: - Se `b` é igual a 0, retorna `a`. Isso significa que o MDC foi encontrado. - Caso contrário, chama a função recursivamente com `b` e o resto da divisão de `a` por `b` (`a % b`). No `main`, a função é chamada com os valores 15 e 20: 1. `comp(15, 20)`: - `b` (20) não é 0, então chama `comp(20, 15 % 20)` → `comp(20, 15)`. 2. `comp(20, 15)`: - `b` (15) não é 0, então chama `comp(15, 20 % 15)` → `comp(15, 5)`. 3. `comp(15, 5)`: - `b` (5) não é 0, então chama `comp(5, 15 % 5)` → `comp(5, 0)`. 4. `comp(5, 0)`: - Aqui, `b` é 0, então retorna `a`, que é 5. Portanto, o valor impresso após a execução do código é 5. A alternativa correta é: E) 5.
Já tem uma conta?
Ao continuar, você aceita os Termos de Uso e Política de Privacidade
Ed
ano passado
O valor impresso após a execução desse código é E) 5. O código apresentado é uma função recursiva que calcula o máximo divisor comum (MDC) entre dois números inteiros a e b. Na função comp, o algoritmo utiliza o algoritmo de Euclides para calcular o MDC. Na função main, a função comp é chamada com os valores 15 e 20 como argumentos. O resultado da função comp(15,20) é 5, que é o MDC entre 15 e 20. Em seguida, o valor 5 é impresso na tela com o comando printf("%d",comp(15,20));.
Mais perguntas desse material