Ed
há 2 meses
Para resolver essa questão, precisamos entender como funciona a recursão para calcular o resto de uma divisão. A ideia é que, se `a` for menor que `b`, o resto da divisão é `a`. Caso contrário, devemos continuar subtraindo `b` de `a` até que `a` seja menor que `b`. Vamos analisar as opções: a) `return b - restoRecursivo(a, b)` - Essa opção não faz sentido para calcular o resto, pois não está subtraindo corretamente. b) `return restoRecursivo(a - b, b)` - Esta opção está correta, pois subtrai `b` de `a` e chama a função recursivamente, o que é a abordagem correta para calcular o resto. c) `return restoRecursivo(a, a - b)` - Essa opção não é adequada, pois não está reduzindo `a` em relação a `b`. d) `return a - restoRecursivo(a, b)` - Essa opção também não faz sentido, pois não está seguindo a lógica correta para calcular o resto. e) `return restoRecursivo(b, a)` - Essa opção inverte os parâmetros e não é a abordagem correta. Portanto, a alternativa correta para o retorno dentro do bloco else é: b) return restoRecursivo(a - b, b).
Mais perguntas desse material