shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Numeros Primos


From: Tiago Barcellos Peczenyj
Subject: Re: [shell-script] Numeros Primos
Date: Thu, 19 Jul 2007 21:47:46 -0300

Pois então

investigando um  pouco eu descobri um programa chamado columns

ele possui uma opção ( -x ) que expande no maior número de colunas possivel.

descobri então que o seq não se dá bem (pelo menos na minha versão) com
números inteiros muito grandes, mas contornei assim

seq -f '%.0f' $1 $2 $3 | ... | columns -x

Mas a ideia de pegar o maior primo não tinha me ocorrido, valeu Julio!

Abraços

Tiago

On 7/19/07, Julio C. Neves <address@hidden> wrote:
>
>   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<tiago.peczenyj%40gmail.com>>
> 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]
>
>  
>



-- 
Tiago B Peczenyj
Linux User #405772

http://peczenyj.blogspot.com/


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]