Ed
há 9 meses
Vamos analisar o código passo a passo para entender o que ele faz. A função `func(int n)` é uma função recursiva que verifica se `n` é menor ou igual a 5. Se for, ela retorna 0. Caso contrário, ela retorna `n` somado ao resultado da chamada recursiva `func(n-1)`. Quando chamamos `func(10)`, o que acontece é o seguinte: 1. `func(10)` retorna `10 + func(9)` 2. `func(9)` retorna `9 + func(8)` 3. `func(8)` retorna `8 + func(7)` 4. `func(7)` retorna `7 + func(6)` 5. `func(6)` retorna `6 + func(5)` 6. `func(5)` retorna `0` (porque 5 é menor ou igual a 5) Agora, somando tudo: - `func(6)` retorna `6 + 0 = 6` - `func(7)` retorna `7 + 6 = 13` - `func(8)` retorna `8 + 13 = 21` - `func(9)` retorna `9 + 21 = 30` - `func(10)` retorna `10 + 30 = 40` Portanto, o que será impresso após a execução do código é 40. A alternativa correta é: A 40.