• Matéria: Informática
  • Autor: martinswill2480
  • Perguntado 8 anos atrás

programa em python para calcular o fatorial de um numero

Respostas

respondido por: bokomoko
0
Tem duas formas de calcular fatorial

Uma é iterativa, ou seja, fazendo um loop assim

def fatorial(numero):
     fat = 1
     for x in range(2,numero+1):
            fat *= x
     return fat

Super eficiente .... só que tem outra forma ... chamada "recursiva" que é muito legal. 

O fatorial de um número n qualquer é o n * fatorial(n-1)

Por exemplo, fatorial de 4 é igual ao 4 * fatorial(3)
O fatorial de 3 então é 3 * fatorial(2)
o fatorial de 2 então é 2 * fatorial(1)
o fatorial de 1 então é  1 * fatorial(0)
O fatorial de 0 é definido como 1.
Então a função fica assim

def fatorial_recursivo(numero):
     if numero:         
        return numero * fatorial(numero-1)
     else:
         return 1

observe o if... não se faz comparação alguma. É um truque que o Python permite. Qualquer valor DIFERENTE de 0 é considerado True no Python.
Então esse if na verdade significa 
      if numero != 0: 

Perguntas similares