Fibonacci em bash shell

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

[ Hits: 11.219 ]

Homepage: http://portelanet.com

Download fibonacci.sh




Script simples, apenas para fazer a série de Fibonacci em bash shell.

Construído para ajudar no tópico: http://www.vivaolinux.com.br/topico/Shell-Script/Duvida-com-Script

  



Esconder código-fonte

#!/bin/bash
# fibonacci.sh
# Desenvolvido por: Raimundo Portela - rai3mb@gmail.com
# Construído para ajudar no tópico: 
# http://www.vivaolinux.com.br/topico/Shell-Script/Duvida-com-Script
# Script simples, apenas para fazer a série de fibonacci em bash shell
#-------------------------------------------------------------
read -p "Informe o primeiro valor: " PRIMEIRO
read -p "Informe o segundo valor: " SEGUNDO

read -p "Informe a quantidade de números que quer na sequência: " QTD

[ -z "$QTD" -a "$QTD" -gt 1 ] && echo "A quantidade deve ser maior que 1" && exit

for i in $(seq $QTD)
do
    echo -n "$PRIMEIRO " # mostra o elemento
    SOMA=$(($PRIMEIRO+$SEGUNDO)) # faz a soma dos elementos para a sequência
    PRIMEIRO=$SEGUNDO # guarda o valor do segundo elemento (ainda não exibido)
    SEGUNDO=$SOMA # a soma passa a ser o segundo elemento
done
# um echo apenas para pular a linha ao fim da execução do script
echo

Scripts recomendados

Script para verificação do serviço do Apache (webserver) em sistemas Linux Ubun

Remover linhas duplicadas em arquivos

Verificando existência de computadores na rede

Script para criar tar.gz e tar.bz2

Calculadora simples


  

Comentários
[1] Comentário enviado por danniel-lara em 04/10/2011 - 18:56h

Tchê ficou legal esse script

[2] Comentário enviado por vitinho217 em 30/06/2014 - 09:47h

Que tal usar recursividade ?

[3] Comentário enviado por rai3mb em 30/06/2014 - 09:49h

É só fazer!

[4] Comentário enviado por vitinho217 em 30/06/2014 - 10:03h

read -p "Informe o primeiro valor: " PRIMEIRO
read -p "Informe o segundo valor: " SEGUNDO

# Função recursiva para fibonacci
fibonacci(){
if [ $times -ne $QTD ];then # Verifica se o últimos elemento já foi atingido
echo -n "$1 " # mostra o elemento
SOMA=$(($1+$2)) # faz a soma dos elementos para a sequência
times=$(($times + 1)) # incrementa número de elemenos em sequências
fibonacci $2 $SOMA # recusividade
fi
}

read -p "Informe a quantidade de números que quer na sequência: " QTD
[ -z "$QTD" -a "$QTD" -gt 1 ] && echo "A quantidade deve ser maior que 1" && exit

# Zerar variáveis que contam os números em sequências
times=0

fibonacci $PRIMEIRO $SEGUNDO

# um echo apenas para pular a linha ao fim da execução do script
echo

[5] Comentário enviado por rai3mb em 30/06/2014 - 10:11h

Perfeito!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts