[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Numeros Primos
From: |
Julio C. Neves |
Subject: |
Re: [shell-script] Numeros Primos |
Date: |
Thu, 19 Jul 2007 19:39:45 -0300 |
Fala Tiago,
Primeiro vc descobre os primos. Agora vc já sabe o tamanho do maior primo
(que sempre será o último), em seguida vc faz:
Fatores=$(factor $(tput cols))
E coloca em uma variável $Len o que for imediatamente acima tamanho do maior
primo e faz:
printf "% ${Len}d" $Primo
Abração,
Julio
Em 19/07/07, Tiago Barcellos Peczenyj <address@hidden> escreveu:
>
> Descobri o programa factor, que vem com o coreutils, ele calcula os
> fatores de um dado numero.
>
> Aqui um exemplo
>
> $ seq 10 | factor
> 1: 1
> 2: 2
> 3: 3
> 4: 2 2
> 5: 5
> 6: 2 3
> 7: 7
> 8: 2 2 2
> 9: 3 3
> 10: 2 5
>
> Então, dado um número X, factor encotra os fatores primos desse
> numero, no caso do número 6, ele é 2 * 3. Se um número é primo, ele só
> tem um fator: ele mesmo.
>
> Baseado nisso elaborei um simples script para mostrar apenas os
> números primos de uma dada seqüencia.
>
> #!/bin/bash
> # Print prime numbers
> echo "Show Prime Numbers in \`seq $1 $2 $3\`:"
> seq $1 $2 $3 | factor | awk -F \: '$1 == $2{p++; print $1}
> END{ print "Total: ",p+0,"prime numbers"}'
> exit $?
>
> Agora vem uma dúvida, como eu poderia mostrar o resultado de forma
> mais limpa, semelhante ao ls, com o maior número de colunas possíveis
> ? Eu sei que poderia usar o paste - - - - ... mas dependendo do
> tamanho do meu terminal (e dos números) não vai ser uma solução
> 'otima'.
>
> Alguma sugestão?
>
> []´s Tiago
>
> --
> Tiago B Peczenyj
> Linux User #405772
>
> http://peczenyj.blogspot.com/
>
>
--
Abraços,
Julio
http://www.julioneves.com - Um livro sobre Bash completo e on-line
:wq
[As partes desta mensagem que não continham texto foram removidas]