Obtenha respostas rápidas e precisas para suas perguntas no Sistersinspirit.ca, a melhor plataforma de Q&A. Explore milhares de perguntas e respostas de uma ampla gama de especialistas em diversas áreas em nossa plataforma de perguntas e respostas. Descubra soluções confiáveis para suas perguntas de uma vasta rede de especialistas em nossa abrangente plataforma de perguntas e respostas.

Font um amante do conhecimento, estava a procura de mais conhecimento, então foi atrás do guru da sabedoria, Faustino.
Chegando lá, descobriu que só era permitido a entrada de pessoas que respondessem a pergunta "Qual o fatorial primo de x?", em que o fatorial primo de x pode ser definido como a multiplicação dos primeiros x primos. Mas como Font ficou nervoso por estar quase conhecendo o guru, não conseguiu responder a pergunta. Ajude-o a calcular o fatorial primo de x para ele conseguir falar com Faustino!

Entrada:

A entrada consiste em um inteiro x (1 ⩽ 3 ⩽ 100), o x-ésimo fatorial primo a ser computado.

Saída:

Seu programa deve imprimir o x-ésimo fatorial primo.

Observações:

• No primeiro caso de teste, o resultado é 2, pois o primeiro primo é 2.

• No segundo caso de teste, o resultado é 1890, porque 2 x 3 x 5 x 7 x 11 = 1890.​


Font Um Amante Do Conhecimento Estava A Procura De Mais Conhecimento Então Foi Atrás Do Guru Da Sabedoria FaustinoChegando Lá Descobriu Que Só Era Permitido A E class=

Sagot :

O programa resultante desta resolução não conta com validação de dados ou controle/tratamento de exceções, portanto será responsabilidade do usuário digitar um "x" dentro das exigências descritas no texto.

Ainda, pra espelhar os exemplos mostrados, não vamos mostrar quaisquer outros textos na tela, nem mesmo de solicitação de "x".

Vamos visualizar o código e, posteriormente, traço algumas observações sobre a solução utilizada.

[tex]\sf x ~=~ int(inpu t())\\num ~=~ 0\\fat~ =~ 1\\\\while~ x !=~ 0:\\~~~~ divisores~ =~ 0\\~~~~ for~ i~ in~ range(1,~ num+1):\\~~~~~~~~ if~ num \% i ~== ~0:\\~~~~~~~~~~~~ divisores~ +=~ 1\\~~~~~~~~~~~~ if~ divisores~ >~ 2:\\~~~~~~~~~~~~~~~~ break\\ ~~~~if~ divisores~ ==~ 2:\\ ~~~~~~~~ x~ -=~ 1\\ ~~~~~~~~ fat~ *=~ num\\ ~~~~ num~ +=~ 1\\\\print (fat)[/tex]

Observações:

--> A variável "fat", utilizada para guardar o valor do fatorial primo, foi inicializada com valor 1, pois este é o elemento neutro na multiplicação.  

--> O laço while foi utilizado para controlar o número de fatores no fatorial. Perceba que, com auxílio de um condicional if, sempre que achamos um número primo, "x" é decrementado.

--> O laço for foi utilizado para determinar se uma número "num" é ou não primo verificando a quantidade de divisores que possui, lembrando que números primos possuem exatamente 2 divisores. Para economizar tempo, adicionamos uma condição de saída do loop (break) no caso de já tiverem sido encontrados mais de dois divisores para "num".

[tex]\Huge{\begin{array}{c}\Delta \tt{\!\!\!\!\!\!\,\,o}\!\!\!\!\!\!\!\!\:\,\perp\end{array}}Qualquer~d\acute{u}vida,~deixe~ um~coment\acute{a}rio[/tex]