Python Programa para encontrar o fatorial de um número

⚡ Resumo Inteligente

Fatorial de um número em Python é o produto de todos os números inteiros positivos até esse número. Python calcula-o com um laço for, uma verificação if-else, recursão ou a função integrada math.factorial().

  • 🔘 Para loop: Itere de 1 a n, multiplicando um produto acumulado para construir o fatorial.
  • ☑️ Verificação condicional (if-else): Proteção contra entradas negativas, retornando um erro, já que fatoriais exigem números inteiros não negativos.
  • Recursão: Uma função chama a si mesma com n-1 iterações até atingir o caso base de 0.
  • 🧪 math.factorial(): Importe os cálculos matemáticos e utilize uma função integrada para obter um resultado rápido e comprovado.
  • 🛠️ Casos extremos: O fatorial de 0 é igual a 1, e Python Lida com resultados muito grandes nativamente.
  • 🤖 Inteligência artificial e ciência de dados: Probabilidade, combinatória e bibliotecas como o SciPy utilizam fatoriais em matrizes.

Python Programa para encontrar o fatorial de um número

As seções abaixo mostram quatro maneiras de calcular o fatorial em Python — um laço for, uma versão if-else, recursão e math.factorial() — além do algoritmo subjacente e aplicações.

Fatorial de um número usando for Loop

Tomemos como exemplo o seguinte: Python Código que recebe um número inteiro positivo como entrada para calcular o fatorial de números inteiros positivos. No código a seguir, o loop começa com um e, em seguida, multiplica por cada número que precede o número cujo fatorial deve ser calculado.

Os seguintes Python O código ilustra a função fatorial usando um laço de repetição.

Python código:

print ("Input a number")
factorialIP = int (input ())
ffactor23 = 1
for j in range (1, factorialIP+1):
   ffactor23 = ffactor23 * j
print ("The factorial of the number is “, ffactor23)

Saída:

Input a number
4
The factorial of the number is 24

O referido Python O programa aceita apenas números positivos como entrada e não verifica números negativos. Neste programa, o fator é 1 quando j é igual a 1. Quando j é 2, o fator é multiplicado por 2, e a ação se repete até que j seja igual a 4, resultando em 24.

Fatorial de um número usando a instrução IF…else

Os seguintes Python O código ilustra a função fatorial usando uma função. Ao contrário da versão com loop, este programa também verifica se os números são negativos antes de calcular o fatorial.

No anterior Python No código, a verificação de números negativos não foi aplicada, tornando a função fatorial incompleta e propensa a exibir uma mensagem de erro se números negativos forem fornecidos como entrada.

No código fornecido, o loop começa com um e multiplica por cada número anterior, e a função também valida a entrada para números negativos.

Python código:

print("Enter a number for the purpose of determining factorial")
factorialIP = int(input())
def factorial(factorialIP):
   if factorialIP < 0:
     print ('Factorial does not exist')
     factor=0
     return factor
   elif factorialIP == 0:
     factor=1
     return factor
     print(factor)
   else:
     factor = 1
     for j in range (1, factorialIP+1):
       factor = factor * j
     return factor
  print ("The factorial of the number is ", factorial(factorialIP))

Saída:

1) Enter a number to determine factorial
   -4
   Factorial does not exist
   The factorial of the number is 0

2) Enter a number to determine factorial
   4
   Factorial does not exist
   The factorial of the number is 24

Este Python O programa aceita números positivos e adiciona uma verificação para números negativos usando as instruções if e else, retornando corretamente 24 para uma entrada de 4.

Fatorial de um número usando recursão

Os seguintes Python O código ilustra a função fatorial usando recursão. Neste exemplo, uma função recursiva que recebe um número inteiro positivo como entrada determina o número fatorial.

Python código:

print("Enter a number for the purpose of determining factorial")
def factorial(num2):
  if num2 < 0:
    return 'Factorial does not exist'
  elif num2 == 0:
     return 1
  else:
     return num2 * factorial(num2-1)
number1 = int(input())
print("The factorial of the number is",factorial(number1))

Saída:

Enter a number for the purpose of determining factorial
4
The factorial of the number is 24

A recursão pode ser explicada como um conceito em que a função invocada na Python O módulo pode chamar a si mesmo repetidamente. Ele é executado até que... Python A condição presente no módulo é satisfeita, na qual a função invocada recebe um valor como argumento.

No acima Python No programa, a função `def factorial` chama a si mesma recursivamente até que o número chegue a zero. Assim que o número chega a zero, ele é inicializado com o valor 1, encerrando a recursão.

Calcular o fatorial de um número usando math.factorial()

Os seguintes Python O código ilustra a função fatorial usando math.factorial(), que pode ser usada importando o módulo math.

Essa função não aceita números inteiros negativos e gera um erro de valor quando números de ponto flutuante são fornecidos.

Python código:

print("Enter a number for computing factorial")
import math
number1 = int(input())
print("The factorial is as computed comes out to be ")
print(math.factorial(number1))

Saída:

Enter a number for computing factorial
4
The factorial, as computed, comes out to be 24

Algoritmo para o Programa Fatorial em Python

Tomemos um exemplo que ilustra o conceito de fatorial.

Para determinar o fatorial de 5, siga estes passos:

5! = 5 x (5-1) x (5-2) x (5-3) x (5-4)
5! =120

Aqui, 5! é expresso como 120.

O diagrama a seguir auxilia na compreensão do algoritmo de cálculo fatorial e, neste caso, tomemos um exemplo do fatorial 4!

Algoritmo para o Programa Fatorial

Algoritmo com exemplo pictórico do fatorial 4!

Aplicação de Fatorial em Python

O fatorial de um número tem um amplo nível de aplicações em matemática. Aqui estão aplicações importantes de Python:

  • Python Auxilia nos cálculos, permitindo imprimir o fatorial de forma mais rápida e eficiente do que outras linguagens de programação disponíveis.
  • O Python O código é facilmente compreensível e pode ser replicado em diferentes plataformas, e o fatorial Python O programa pode ser incorporado em diversas tarefas de construção de modelos matemáticos.

Perguntas Frequentes

O fatorial de um número inteiro não negativo n, escrito n!, é o produto de todos os números inteiros positivos de 1 a n. Por exemplo, 5! é igual a 5 × 4 × 3 × 2 × 1 = 120.

Por definição, o fatorial de 0 é 1. Todo método — loop, recursão ou math.factorial() — retorna 1 para entrada 0, e esse caso base também impede chamadas recursivas.

Sim. Travas deslizantes portáteis Python Os números inteiros têm precisão ilimitada, portanto, math.factorial(100) retorna um resultado de 158 dígitos sem estouro. Apenas o consumo de memória e o tempo de execução aumentam com o tamanho da entrada.

A para laço é geralmente preferível. Ambos têm complexidade de tempo O(n), mas o loop usa memória constante, enquanto a recursão adiciona uma pilha de chamadas que pode atingir um limite. Pythonlimite de recursão de.

Cada método padrão precisa de n−1 multiplicações, portanto a complexidade de tempo é O(n). O laço iterativo mantém o espaço em O(1), enquanto a recursão usa espaço O(n) para sua pilha de chamadas.

A recursão profunda pode exceder PythonO limite padrão de 's' é próximo de 1000 chamadas. Use um loop iterativo for ou math.factorial() para entradas grandes, ou aumente o limite com sys.setrecursionlimit().

Sim. Fatoriais aparecem em combinatória e em distribuições de probabilidade como a de Poisson e a binomial, que são a base de muitos modelos de aprendizado de máquina. Bibliotecas de ciência de dados também oferecem funções auxiliares para fatoriais vetorizados em arrays.

Sim. O GitHub Copilot e assistentes de IA semelhantes geram versões com loop, recursivas e com math.factorial() a partir de um breve comando. Sempre revise a sugestão para a proteção contra números negativos e o caso base 0!.

Resuma esta postagem com: