[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Numeros primos
From: |
Fernando Lemes da Silva |
Subject: |
Re: [shell-script] Numeros primos |
Date: |
Fri, 31 Oct 2003 00:49:22 -0300 |
Tentei brincar com isso para aprender mais, mas o que fiz não funciona
para numeros muito grandes...
raiz=$(echo "sqrt($1)" | bc -q)
for i in $(seq 2 $raiz); do
if [ $(echo $1%$i | bc -q) -eq "0" ]; then exit; fi
done
echo "$1"
A ideia é testar os divisores de 2 a raiz quadrada do numero (floor) até
achar algum que divide e constatar que nao é primo. Se o numero aguentar as
divisões e não tiver um divisor ele é impresso na saida padrao. Dá pra fazer
montando uma lista com os numeros primos e ao invés de tentar os numeros
2,3,4,5,6,7,8,9,10,11,12,... ele tentaria 2,3,5,7,11,... poupando tempo de
processamento (não me recordo se existe algum meio mais eficiente...).
Não entendi bem o porque, mas quando o numero tem mais que 7 digitos
parece que ele transforma o numero em notação cientifica e arredonda... é
complicado fazer isso quando não se tem bem definido o tipo e propriedades
da variavel...
[]'s
Fernando Lemes
----- Original Message -----
From: "rettore" <address@hidden>
To: <address@hidden>
Sent: Monday, October 27, 2003 9:04 AM
Subject: [shell-script] Numeros primos
> Alguem conhece algum algoritimo que verifica se o numero é primo ??
> Rettore