Informática, perguntado por joubelalmeida, 1 ano atrás

faça um programa em linguagem c que receba um inteiro e apresente o seu fatorial (5!=1*2*3*4*5). crie um função recursiva para resolver o problema.

Soluções para a tarefa

Respondido por DennisRitchie
1
A resolução está em anexo:
Anexos:
Respondido por Index
1
Segue abaixo o algoritmo

Para resolver esse algoritmo nós temos que pensar no seguinte: como é calculado o fatorial?
Considere que eu tenha um número n. O fatorial de n seria: 
n * fatorial de (n-1) 

Porque n-1?
Por que o fatorial é um numero qualquer multiplicado pelos antecessores.
Ex: 3*2*1

Toda vez que a função for executada ela irá decrementar o número, que quando for igual a 1 retornará o valor calculado durante a execução da função

Exemplificando o negócio...

Suponhamos que o usuário digite 5.
O programa faz 5 * 5-1 = 20 e armazena esse valor na variável numero
Agora numero vale 20.
O programa faz 20 * 4-1 = 60 e armazena esse valor na variável numero
Agora numero vale 60.
O programa faz 60 * 3-1 = 120 e armazena esse valor na variável numero
Agora numero vale 120.
O programa faz 120 * 2-1 = 120 e armazena esse valor na variável numero
O programa vai mostrar esse número, já que a variável numero da função está valendo 1
Anexos:
Perguntas interessantes