Números impares no intervalo entre 2 números

Publicado por Raimundo Alves Portela (última atualização em 25/11/2011)

[ Hits: 10.185 ]

Homepage: http://portelanet.com

Download Impares_em_intervalor.sh




Esse script recebe 2 números como parâmetro e mostra os números impares que existem no intervalo entre eles.

Bem simples, pode ser melhorado.

  



Esconder código-fonte

#!/bin/bash
# Script que imprime os números impares no intervalo entre 2 números fornecidos
# Por rai3mb
[ -z "$1" -o -z "$2" ] && echo 'Use: $0 [NUM] [NUM]' && exit

PRIMEIRO=$1
SEGUNDO=$2

#verifica se foram digitados apenas números
if ! echo "$PRIMEIRO $SEGUNDO" | egrep -q '^[0-9]+ [0-9]+$'
then
   echo 'Informe apenas números' && exit
fi

# verifica se foram informados números onde há intervalo entre eles
[ $PRIMEIRO -eq $((SEGUNDO - 2)) -o $SEGUNDO -eq $((PRIMEIRO - 2)) ] && echo 'sem intervalo entre eles' && exit

# coleta o maior e o menor valor fonecido, sai do script caso sejam iguais
if [ $PRIMEIRO -gt $SEGUNDO ]; then
   MAIOR=$PRIMEIRO && MENOR=$SEGUNDO
elif [ $SEGUNDO -gt $PRIMEIRO ]; then
   MAIOR=$SEGUNDO && MENOR=$PRIMEIRO
else
   echo "$PRIMEIRO é igual a $SEGUNDO, não há intervalo entre eles!"
   exit
fi

# imprime apenas os impares, módulo da divisão diferente de 0
VALOR=$((MENOR+1))
while [ $VALOR -lt $MAIOR ]
do
   [ $(expr $VALOR % 2) -ne 0 ] && echo $VALOR
   VALOR=$((VALOR+1))
done

Scripts recomendados

Algoritmo para saber qual o maior número dentro de uma Array

Atualizando o banco de dados do ClamAV sem freshclam

Sistema de ajuda on-line com interface grafica

Script para ajustar a hora sem correr o risco de mudar o dia ou o ano

IPscan


  

Comentários
[1] Comentário enviado por vitinho217 em 07/07/2014 - 10:52h

Maneiro !


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts