Cálculo de número perfeito único
Publicado por Sérgio Abrantes Junior (última atualização em 21/05/2020)
[ Hits: 25.379 ]
Homepage: https://br.linkedin.com/in/sergioabrantes
numeroPerfeitoUnico
Shell script que testa se o número informado é perfeito.
Otimizações de código:
Analisa até o divisor ser no máximo sua metade:
Ex.: Número informado = 10
Ele checará até o 5 no máximo.
#!/usr/bin/env bash # shellcheck disable=SC2162 # Prove: NumeroPerfeitoUnico # Descricao Curta: Verifica se número informado é perfeito # Descrição Longa: Verifica se número informado é perfeito # Frequencia: Sob demanda # Autor: Sérgio Abrantes # Contato: sergioabrantes@gmail.com # Site: https://github.com/sergioabrantesjunior/numeroPrimoUnico # # # Histórico: # # v1.0.0 2020-01-17, Sérgio Abrantes: # - Versão inicial do script : ' Em Matemática, um número perfeito é um número inteiro para o qual a soma de todos os seus divisores positivos próprios (excluindo ele mesmo) é igual ao próprio número. Por exemplo, o número 6 é um número perfeito, pois: 6 = 1 + 2 + 3 O próximo número perfeito é o 28, pois: 28 = 1+ 2+ 4+ 7+ 14 Os quatro primeiros números perfeitos (6, 28, 496 e 8.128) eram os únicos conhecidos pelos gregos antigos desde pelo menos Euclides. No século XV acrescentou-se 33.550.336 à lista. O conjunto dos números perfeitos é: {6, 28, 496, 8128, 33550336, 8589869056, …} ' clear read -p "Digite um número: " numero contadorLoop=1 somaDivisoresInteiros=0 while [[ "$contadorLoop" -le "$((numero / 2))" ]];do if [ "$(( numero % contadorLoop ))" = 0 ];then somaDivisoresInteiros=$((somaDivisoresInteiros + contadorLoop)) fi contadorLoop=$((contadorLoop + 1)) done if [ "$somaDivisoresInteiros" -eq "$numero" ];then echo "O Número $numero é perfeito" else echo "O Número $numero não é perfeito" fi
Incluindo lista de IP's nos arquivos de bloqueio do Squid automaticamente
Remover espaços em branco em nomes de arquivos
Fechar contas em servidor Zimbra após 90 dias
Nenhum comentário foi encontrado.
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
Por que programação de baixo nível e tão comum no Linux do que no wind... (0)