Cita:
Empezado por Abaco
Graciaaaaas, ahora no da error, peeeeeeero...
Deberia devolver true con 6...
Mira asi hago en vb:
Código:
Private Sub Form_Load()
MsgBox IsPerfectNumber(6)
End Sub
Public Function IsPerfectNumber(ByVal lNumber As Long) As Boolean
Dim x As Long
Dim i As Long
For x = 1 To lNumber - 1
If (lNumber Mod x = 0) Then i = i + x
Next
If i = lNumber Then IsPerfectNumber = True
End Function
Me podrias ayudar un pco mas?
Muchas gracias
|
Hola
Código Delphi
[-]
function IsPerfectNumber(lNumber:Integer):Boolean;
var
i : Integer;
x : Integer;
begin
I := 0;
Result := false;
if lnumber > 0 then
begin
for x := 1 to lnumber - 1 do begin
if (lnumber mod x) = 0 then
i := i + x;
end;
if i = lnumber then
Result := true; end;
end;
saludos