Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: Psyke1 en 26 Agosto 2010, 16:48 pm



Título: [SRC] [Delphi] Números perfectos [by *PsYkE1*]
Publicado por: Psyke1 en 26 Agosto 2010, 16:48 pm
HOla, con esta sencilla funcion mia averiguo los numeros perfectos :D

Código
  1. (* * * * * * * * * * * * * * * * * * * * * * * * * *)
  2. (* Function : IsPerfectNumber                      *)
  3. (* Author   : *PsYkE1*                             *)
  4. (* Mail     : vbpsyke1@mixmail.com                 *)
  5. (* Date     : 24/8/10                              *)
  6. (* Purpose  : Check if number is a perfect number  *)
  7. (* Visit    : http://foro.rthacker.net/            *)
  8. (* * * * * * * * * * * * * * * * * * * * * * * * * *)
  9.  
  10. function IsPerfectNumber(lNumber:Integer):Boolean;
  11. var
  12.  i : Integer;
  13.  x : Integer;
  14. begin
  15.  I := 0;
  16.  Result := false;
  17.  if lnumber > 0 then
  18.    begin
  19.      for x := 1 to lnumber - 1 do
  20.        begin
  21.          if (lnumber mod x) = 0 then
  22.             i := i + x;
  23.        end;
  24.      if i = lnumber then
  25.       Result := true;
  26.    end;
  27. end;

Ejemplo:
Código
  1. procedure TForm1.FormCreate(Sender: TObject);
  2. var
  3.  n:integer;
  4.  s:String;
  5. begin
  6.  n := 6;
  7.  str(n,s);
  8.  if IsPerfectNumber(n) = true then
  9.     edit1.Text:= 'El ' + s + ' es un numero perfecto';
  10. end;
  11.  
  12. end.

DoEvents¡! :P