Calculador de números primos

Publicado por Jonathan Luquesi de Medeiros 04/05/2007 (última atualização em 01/09/2014)

[ Hits: 21.231 ]

Download numeros_primos.sh

Download numeros_primos.sh (versão 2)




Esse script calcula se um numero é ou não primo...

Sugestões e críticas sobre o script são muito bem vindas... Ainda estou aprendendo.

  



Versões atualizadas deste script

Versão 2 - Enviado por Vitor Augusto M. Pio em 27/08/2014

Changelog: - Método de confirmação se o núemro é primo alterado. Contar do 2 até a raiz do número, isto torna o programa mais rápido na execução.
- Ultilizei um flag.

Download numeros_primos.sh


Esconder código-fonte

#!/bin/bash
clear
echo "Programa para calcular numeros primos"
echo "Digite o numero que deseja calcular"
read N
S=2
R=0

while [ $S -ne $N ] ; do
        R=$(expr $N % $S)
        if [ $R -ne 0 ] ; then
                S=$(($S+1))
        else
                clear
                echo "O numero" $N "nao eh primo"
                echo "Digite Ctrl+c, para interromper!"
                sleep 10
        fi
done
if [ $S -eq $N ] ; then
        clear ; echo "O numero" $N "eh primo"
fi

Scripts recomendados

Limpar bibliotecas não utilizadas

Proftd com Banco de Dados

Controle de banda individual com shaper

Fechar contas em servidor Zimbra após 90 dias

Trocando MAC address de placa de rede


  

Comentários
[1] Comentário enviado por sfonseca em 11/05/2007 - 13:50h

Jonathan, o script não tá atendendo a condição qdo o número informado for 1. O que deve ser alterado para resolver isso?

[2] Comentário enviado por jhoumedeiros em 22/06/2007 - 16:13h

Os numeros primos começam pelo 2... mais td bem
deixe o codigo assim....
#!/bin/bash
clear
echo "Programa para calcular numeros primos"
N=1
while [ $N -eq 1 ] ; do
echo "Digite o numero que deseja calcular"
read N
done
S=2
R=0

while [ $S -ne $N ] ; do
R=$(expr $N % $S)
if [ $R -ne 0 ] ; then
S=$(($S+1))
else
clear
echo "O numero" $N "nao eh primo"
echo "Digite Ctrl+c, para interromper!"
sleep 10
fi
done
if [ $S -eq $N ] ; then
clear ; echo "O numero" $N "eh primo"
fi


OBS: Nao se esqueça de identar o echo dentro do 1º while

[3] Comentário enviado por rafaelfatepi em 13/06/2009 - 02:05h

Olá amigo como faço para imprimir todos numeros primos entre 60000 e 63000.

Grato!!!

[4] Comentário enviado por andrecpe em 23/06/2010 - 15:18h

Bem, para achar números primos em qualquer quantidade usar:

seq 99999 | factor | awk -F \: '$1 == $2{ print $1}' | column -x

Para encontrar números primos entre 1 e 99999


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts