Raiz Quadrada (Square Root) para Bash
Publicado por Sergio Spoladore 06/11/2006
[ Hits: 8.960 ]
Homepage: http://yetlinux.blogspot.com
Este raro script calcula a raiz quadrada de um número natural entre 0 e 2^63 - 1. Caso ultrapasse este valor, haverá erro de cálculo. Creio ter corrigido todos os bugs. Serve como exercício de programação.
Deixo que vocês o compreendam.
#!/bin/bash verif (){ str1="$1" [[ -z "$str1" ]] && { echo "Use $0 <numero>"; echo "<numero> entre 0 e 9223372036854775807."; echo "Caso ultrapasse, havera erro de calculo."; exit 1; } str2=${str1//[0123456789]/} [[ -n "$str2" ]] && { echo "Use somente digitos de 0 a 9." exit 1; } } cortazero(){ a1=$1; while [ "$a1" != "$b1" ]; do b1=$a1; a1=${a1##0}; done; echo $a1; } sqrt(){ tmp1=$1; [[ $((${#tmp1}%2)) -eq 1 ]] && tmp1='0'$tmp1; j=0; rq='0'; rt=''; while [ -n "${tmp1:$j:2}" ]; do rt=$rt${tmp1:$j:2}; rt=`cortazero $rt`; [[ -z "$rt" ]] && rt='0'; rq=`cortazero $rq`; [[ -z "$rq" ]] && rq='0'; for ((i=1;i<=10;i++));do [[ $rt -lt $(( (`cortazero $((2*$rq))`$i) *$i)) ]] && { rt=$((rt-(`cortazero $((2*$rq))`$((i-1)))*$((i-1)))); rq=$rq$((i-1)); break; } done; let j+=2; done; rq=`cortazero $rq`; [[ -z "$rq" ]] && rq='0'; echo $rq; } verif $1; sqrt $1;
APPSOM - Listar e reproduzir músicas, vídeos e imagens
Script de Backup para FITA DAT usando "tar"
Como ser proteger de site que é alvo de sequestro do DNS
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Linux rodando do hd externo ou ssd? (1)
Notebook Novo. Aceita Duplo Boot? (6)
Redirecioname... de pasta desktop em cliente Linux ingressado a um AD ... (0)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta