47 - Indica o que é impresso no ecrã pelo seguinte código. Justifica a tua
resposta, explicando detalhadamente em que consiste a operação efetuada pelo
método Fact()
.
static void Main(string[] args)
{
uint n = 5;
Console.WriteLine($"{n}! = {Fact(n)}");
}
static uint Fact(uint i) => i > 1 ? i * Fact(i - 1) : 1;
-
O metodo
Fact()
, usa recursividade para proceder com os seus cálculos sendo que:- Retorna
i * Fact(i-1)
casoi>1
- Ou então retorna 1 caso
i<=1
- Retorna
-
Resolução:
- É passado ao método
Fact()
,uint = 5
através do main, após isso:5 * Fact(4)
4 * Fact(3)
3 * Fact(2)
2 * Fact(1)
1
- Fazendo os cálculos isto fica: 5 * 4 * 3 * 2 * 1 = 120
- É passado ao método
-
Assim sendo, é impresso o seguinte:
5! = 120
Por Rodrigo Marques