Skip to content

Instantly share code, notes, and snippets.

@WellingtonFonseca
Last active August 24, 2023 00:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save WellingtonFonseca/f0dab513f56d5379a6a711eb1d14e160 to your computer and use it in GitHub Desktop.
Save WellingtonFonseca/f0dab513f56d5379a6a711eb1d14e160 to your computer and use it in GitHub Desktop.
Nível_1_Desvendando_Essa_Caixa_Preta
programa
{
funcao inicio ()
{
inteiro n
escreva("# listando números primos\n")
escreva("Importante!\n")
escreva("- Informe um valor inteiro\n")
escreva("- O valor deverá ser maior que 0 (zero)\n\n")
escreva("Digite o valor: ")
leia(n)
cadeia sn = "s"
se(n <= 0) {
escreva("Atenção! Somente valores acima de 0 (zero)\n\n")
}
senao se ( n >= 150) {
escreva("\Atenção! Valor maior ou igual a 150, ocasiona demora/lentidão\n")
escreva("Deseja continuar? s = sim | n = não: ")
leia(sn)
}
se(sn == "") {
escreva("\nÉ preciso informar 's' para sim ou 'n' para não\n")
escreva("Finalizamos por aqui! Até mais.\n")
} senao se(sn <> "s" e sn <> "sim" e sn <> "n" e sn <> "nao" e sn <> "não") {
escreva("\nÉ preciso informar 's' para sim ou 'n' para não\n")
escreva("Finalizamos por aqui! Até mais.\n")
}
senao se(sn == "n" ou sn == "nao" ou sn == "não") {
escreva("\nFinalizamos por aqui! Até mais\n")
}
senao {
inteiro valor = n, divisor = n, divisores = 0, primos = 0, total = 0
escreva("\nListando números primos em order decrescente:\n> ")
enquanto(valor > 0) {
enquanto(divisores <= 2 e divisor > 0) {
se(valor % divisor == 0) {
divisores++
}
divisor --
}
se( divisores == 2 ) {
se( primos > 0 ) {
escreva(", ")
}
escreva(valor)
primos ++
total += valor
}
valor --
divisor = valor
divisores = 0
}
se(primos == 0) {
escreva("Nenhum número primo foi encontrado = (igual) ou < (abaixo) de: ", n, "\n")
} senao {
escreva("\n> A soma de todos eles é igual a ", total, "\n")
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment