Pular para o conteúdo

Fatorial

Calcula o fatorial de um número de 1 a 20. Esta faixa representa o limite possível de cálculo no Bash por este método.
Sergio Spoladore yetlinux
Hits: 9.092 Categoria: Shell Script Subcategoria: Miscelânea
  • Download
  • Nova versão
  • Indicar
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Descrição

Calcula o fatorial de um número de 1 a 20. Esta faixa representa o limite possível de cálculo no Bash por este método.
Download fatorial.sh Enviar nova versão
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Esconder código-fonte

#!/bin/bash

fat (){
   [[ "$#" != "1" ]] && echo erro 1 && exit 1;
   [[ -z $1 ]] && echo erro 2 && exit 2;
   [[ -z ${1//[0-9] /} ]] && echo erro 3 && exit 3;
   [[ $1 -ge 21 ]] && echo erro 4 && exit 4;
   [[ $1 -le 0 ]] && echo erro 5 && exit 5;

   f1=1;

   for ((i=$1;i>0;)); do
      let f1*=i--;
   done;

   echo $f1;

}

fat $1;

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Instalação dos principais programas para um usuário comum

Monitoramento de Tráfego de rede

Criador de VirtualHosts Apache no Ubuntu e Debian

0-ImgMenus

Screenshot com contagem regressiva e mensagens

#1 Comentário enviado por eduardo.otubo em 13/12/2006 - 08:24h
Olá! Gostaria de comentar com um código que vi no Dicas-L já à alguns dias. Ele calcula o fatoria de um número sem necessitar de recursividade, veja:

# echo $((`seq -s \* 10`));

No exemplo calculei o fatorial de 10. Achei muito interessante pois usa-se apenas uma linha de código.

[]'s
#2 Comentário enviado por yetlinux em 14/12/2006 - 01:16h
Você está certo, só que gosto muito de exercitar o uso da shell com o menor número de comandos externos possíveis.

Contribuir com comentário

Entre na sua conta para comentar.