0

Verificador de números primos no Portugol

P
Paulo Lorençato

É difícil saber se alguns números são primos sem realizar um cálculo (às vezes longo), portanto criei um programa durante as aulas de Portugol em lógica de programação que testa se um número é primo e, caso não seja, fornece seus múltiplos.


Código:


programa

{

funcao inicio()

{

inteiro numero

inteiro contador

inteiro n


contador = 2

n = 0


escreva ("Digite um número para saber se ele é primo: ")

leia (numero)


enquanto(contador<numero)

{

se (numero % contador == 0)

{

se(n == 0)

{

escreva("\n" + "Não é um número primo!" + "\n" + "Seus múltiplos são: ")

escreva(contador + " ")

n++

contador++

}

senao

{

escreva(contador + " ")

n++

contador++

}

}

senao

{

contador++

}

}

se (n == 0)

{

escreva("\n" + "É um número primo!")

}

}

}


0
0

Comentários (4)

1
Caio Negrão

Caio Negrão

28/06/2021 15:37

Sucesso!

1
P

Paulo Silva

28/06/2021 15:42

Excelente meu amigo!!!

1
Guilherme Guidolin

Guilherme Guidolin

28/06/2021 15:52

Boa Paulo, só uma dica, quando for postar um código utilize a ferramenta de código.



programa {
    funcao inicio() {
        inteiro numero
        inteiro contador
        inteiro n


        contador = 2
        n = 0


        escreva("Digite um número para saber se ele é primo: ")
        leia(numero)


        enquanto(contador < numero) {
            se(numero % contador == 0) {
                se(n == 0) {
                    escreva("\n" + "Não é um número primo!" + "\n" + "Seus múltiplos são: ")
                    escreva(contador + " ")
                    n++
                    contador++
                }
                senao {
                    escreva(contador + " ")
                    n++
                    contador++
                }
            }
            senao {
                contador++
            }
        }
        se(n == 0) {
            escreva("\n" + "É um número primo!")
        }
    }
}


Ai tem que identar, torna o código um pouco mais legível


Abraço, sucesso.

1
Afonso Neto

Afonso Neto

28/06/2021 16:39

Boa, você pode melhorar o código testando até raiz do numero

Em vez de testar contador < numero

Você pode contador < sqrt (numero )

Ou contador*contador < numero assim evita o calculo da raiz quadrada


Só uma pequena correção no final é impresso os divisores de 'n' não seus múltiplos. Se esse for o objetivo basta testar até n/2.

Fica como sugestão de estudo escrever 'n' como um produto de numero primos Ex: n = 20 resultaria em 2² x 5

None

Brasil