Número Perfeito em JavaScript - Como encontrar


Neste tutorial, vamos criar um script que diz se um determinado número fornecido pelo usuário é perfeito ou não.

Esse é um exercício de função, veja:
"Um número é dito perfeito quando ele é igual a soma de seus fatores. 

Por exemplo, os fatores de 6 são 1, 2 e 3 (ou seja, podemos dividir 6 por 1, por 2 e por 3) e 6=1+2+3, logo 6 é um número perfeito. Escreva uma função que recebe um inteiro e dizer se é perfeito ou não. Em outra função, peça um inteiro n e mostre todos os números perfeitos até n."


Número perfeito em JavaScript

O que vamos fazer é basicamente pegar o número fornecido pelo usuário, e avaliar o resto da divisão dele por 1, por 2, por 3, por 4, ...até por (n-1) , onde n é o número fornecido.

Cada vez que este resto da divisão for 0, somamos esse valor numa variável pré-definida, de nome soma que inicia com valor 0.

Ao final, verificamos se soma é igual o número n.
Se for, o número é perfeito.

Se não for, não é perfeito.

Exemplos de números perfeitos para você testar:

  • 6
  • 28
  • 496
  • 8128
Código HTML:


<!DOCTYPE html>
<meta charset="UTF-8">
<html>
 <head>
    <title>Apostila JavaScript Progressivo</title>
    <script type="text/javascript" src="script.js"></script>
 </head>
 <body>
    Numero: <input id="num" type="number"> <br />
  <button onclick="perfeito()">Checar</button><br />
  Resposta: <div id="resposta" style='display:inline'></div><br />
</html>

Código script.js:


function perfeito()
{
 var num = parseInt(document.getElementById("num").value);
 var resp = document.getElementById("resposta");
 
 var soma=1;

 for(let count=2; count<num ; count++)
  if (num%count == 0)
   soma += count;

 if(soma==num)
  resp.innerHTML="Perfeito";
 else
  resp.innerHTML="Nao é perfeito";
}

Resultado:

Numero:

Resposta:



Exercício de JavaScript
Faça um script que peça um inteiro positivo para o usuário e mostre todos os números perfeitos até tal número.

Nenhum comentário:

Postar um comentário