Pular para o conteúdo

Sequência de Fibonacci

Script que recebe como parâmetro um número e imprime a sequência de Fibonacci contendo apenas números menores do que aquele passado como parâmetro.

Sequência de Fibonacci = 0 1 1 2 3 5 8 13 …, onde o próximo da sequência é a soma dos 2 anteriores.
Wagner Souza wagnerfs
Hits: 7.285 Categoria: Shell Script Subcategoria: Introdução
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

Script que recebe como parâmetro um número e imprime a sequência de Fibonacci contendo apenas números menores do que aquele passado como parâmetro.

Sequência de Fibonacci = 0 1 1 2 3 5 8 13 …, onde o próximo da sequência é a soma dos 2 anteriores.
Download 6190.fibonacci.sh Enviar nova versão

Esconder código-fonte

#!/bin/bash
# Desenvolvido por Wagner Souza em 27/03/2015


i=1
a=0
b=1

echo -n "$a $b "

while [ $i -lt $1 ];
do

        aux=$(($a+$b))
        a=$b
        b=$aux

# Teste na variável aux para não mostrar valores maiores ao que foi passado

if [ $aux -lt $1 ];
then
        echo -n "$aux "
else
        exit
fi

        i=$(($i+1))
done

zsh: Cliff random number generator

Limpa Squid RH9

Backup PostgreSql por DataBases

Mapeamento de servidores e computadores pessoais

Script que verifica se existem arquivos repetidos em dois diretórios

#1 Comentário enviado por MAPOGOS em 07/04/2015 - 13:36h

Porque lt e $1 uma variável no lugar desta eu entenderia que seria $a ou $b.Como é a lógica desta identação?Valeu ateh...
#2 Comentário enviado por wagnerfs em 07/04/2015 - 17:07h

[1] Comentário enviado por TecDogged em 07/04/2015 - 13:36h


Porque lt e $1 uma variável no lugar desta eu entenderia que seria $a ou $b.Como é a lógica desta identação?Valeu ateh...


Boa tarde.

Prezado, o $1 é referente ao valor passado para o script e no exercício pede para calcular a sequência de fibonaci com valores que sejam menores ao parâmetro passado.

A execução do script seria assim:

$ ./fibonacci.sh 20

O número passado será a condição de execução do while. Espero ter esclarecido a tua dúvida.

Contribuir com comentário

Entre na sua conta para comentar.