Bora ajudar o programador a transformar café em código?

Mostrando postagens com marcador Números perfeitos. Mostrar todas as postagens
Mostrando postagens com marcador Números perfeitos. Mostrar todas as postagens

Números perfeitos em PHP (script)

Neste tutorial do nosso curso de PHP, vamos resolver uma questão de nossa lista de exercício de funções:


7. 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.

Como detectar números perfeitos

Vamos receber um número $n do usuário.

Dentro da função soma(), vamos ter uma variável chamada $divisores, que inicialmente é 0, ela vai receber a soma de todos os divisores.

Depois, com um laço, vamos dividir o número do usuário por 1, por 2, por 3...até por $n-1
Cada vez que for divisor, somamos esse números na $divisores.

Ao final da função, retornamos $divisores, que é a soma dos divisores.

Fora da função, verificamos se $n é igual ao retorno da função, se for, o número é dito perfeito:
<html>
 <head>
  <title>Apostila PHP Progressivo</title>
 </head>
 <body>
 <form action=ae method="get">
  Numero<input type="number" name="numb" /><br />
  <input type="submit" name="submit" value="Testar" />
 </form> 
 <?php
  $n = $_GET['numb'];
  
  if($n == soma($n))
   echo "É perfeito";
  else
   echo "Não é perfeito";
   
  function soma($n){
   $divisores=0;
   for($count=1 ; $count<$n ; $count++)
    if($n % $count==0)
     $divisores += $count;
   return $divisores;
  }
 ?>
 </body>
</html>
Teste com alguns números perfeitos:
6, 28, 496 e 8.128

Veja também

O melhor PC para programar

O melhor celular para programar