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

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

Re: [shell-script] Re: 1/2 OFF TOPIC Embaralhar sequência de números


From: Fernando Lemes da Silva
Subject: Re: [shell-script] Re: 1/2 OFF TOPIC Embaralhar sequência de números
Date: Thu, 14 Feb 2008 10:01:19 -0200
User-agent: KMail/1.9.6

   Olá Cristiano... Acho que voce deveria conhecer o Asterisk, mas isso é 
off-topic.. hehhehe

   Seguinte.. uma maneira fácil de gerar os numeros aleatórios seria:

   seq 1 999 | while read N; do echo -e "${RANDOM}\t${N}"; done | sort -n | 
cut -f2

   O que a brincadeira aí faz é gerar a sequencia (seq) e colocar um numero 
randomico na frente. Depois se voce ordena o numero randomico (sort -n) a 
sequencia passa a ficar aleatoria, então só tiramos o numero que colocamos a 
mais (cut).

   Agora a tarefa é verificar a existencia dos numeros próximos. Sugiro que 
faça um outro loop para verificar a diferenca ou algo assim:

   valorAnterior=-7
   while read numeroAtual; do
      if [$[${valorAnterior} - ${valorAtual}] -lt 7 -o
          $[${valorAnterior} - ${valorAtual}] -gt -7]
      then
                echo "Removendo o ${valorAtual}" 1>&2
      else
                echo ${valorAtual}
      fi
      valorAnterior=${valorAtual}
   done

   Isso "removeria" os numeros proximos e depois voce poderia fazer alguma 
coisa com eles... ou então gerar a sequencia de novo até que não tenha nenhum 
numero nestas condições...

   []'s


-- 
   0010111100101010010100110100100101000111
       Fernando LEMES da Silva
       www.koho.com.br (0x43fca35b)
   0101001101001001010001110010101000101111


On Thursday 14 February 2008 8:01:46 am Cristiano Ferrari wrote:
> Salve mop...
> Então, não é pegadinha numérica, nem tarefa de casa. É necessidade
> real mesmo.
> Deixa eu explicar o problema. Adquirimos uma nova central telefônica
> que permite o cadastrado de um PIN para o usuário, para que ele fique
> liberado das restrições de acesso (ligação interurbana, celular, etc),
> que lhes será cobrado como uso particular.


reply via email to

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