Olá, boa tarde! Estou com dúvidas em uma estrutura de repetição. O exercício é, basicamente, fazer com que o usuário forneça um número inteiro e caso este número seja zero ou menor que zero o programa entrará em um loop até o usuário informar o valor correto. Ao informar o valor correto do número, o programa deverá ler este número e informar o fatorial deste número. Até aqui está okay, fiz tudo direitinho. A segunda parte que está sendo o problema e diz o seguinte: Após calculado o fatorial do número informado pelo usuário, o programa deve informar todos os números primos de 1 N!. O código segue abaixo:
nome = input("Olá usuário! Por gentileza, informe seu nome: ")
print(f"Seja bem vindo(a) {nome}! Vamos calcular os números primos a partir de fatoriais?")
from math import factorial
numero=int(input("Por gentileza, informe um número inteiro qualquer: "))
while numero<=0:
numero = int(input("Por gentileza, informe um número inteiro qualquer: "))
fatorial=factorial(numero)
print(f"O fatorial de {numero} é {fatorial}")
for c in range (1,fatorial):
if fatorial%c==0:
print(fatorial-1)
Tenho 100% de certeza que estou equivocado no comando for, mas o que eu tentei fazer foi criar um range que varia de 1 até o número do fatorial e, assim, se a divisão for inteira ele seria primo… mas um número primo é divisível apenas por ele mesmo e por um… Não estou conseguindo fazer esta lógica no computador.
Desde já, muito obrigado