elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  [RETO] Determinar Número Perfecto
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 3 Ir Abajo Respuesta Imprimir
Autor Tema: [RETO] Determinar Número Perfecto  (Leído 8,266 veces)
Miseryk

Desconectado Desconectado

Mensajes: 225


SI.NU.SA U.GU.DE (2NE1 - D-Unit)


Ver Perfil
[RETO] Determinar Número Perfecto
« en: 23 Octubre 2013, 11:44 am »

Hola a todos, los invito a que programen a gusto si un número es perfecto o no.

Cómo funciona un número perfecto?

Un número es perfecto, cuando la SUMA de TODOS sus divisores, evadiendo a si mismo, es igual a ese número.

Ej:

6: 1+2+3 = 6
28: 1+2+4+7+14 = 28
etc

Lista:
6
28
496
8128
33550336
8589869056
137438691328
2305843008139952128

Valoro pensamientos/deducciones propias :D


En línea

Can you see it?
The worst is over
The monsters in my head are scared of love
Fallen people listen up! It’s never too late to change our luck
So, don’t let them steal your light
Don’t let them break your stride
There is light on the other side
And you’ll see all the raindrops falling behind
Make it out tonight
it’s a revolution

CL!!!
ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: [RETO] Determinar Número Perfecto
« Respuesta #1 en: 23 Octubre 2013, 12:09 pm »

No lo pillo.
los invito a que programen a gusto si un número es perfecto o no.
¿Si un número es perfecto o no? Los números perfectos, como bien explicaste, son los que cumplen esa condición.
¿Se trata de descubrir cuales de esos números no es erfecto o algo así?
xD


En línea

79137913


Desconectado Desconectado

Mensajes: 1.169


4 Esquinas


Ver Perfil WWW
Re: [RETO] Determinar Número Perfecto
« Respuesta #2 en: 23 Octubre 2013, 13:18 pm »

HOLA!!!

Hay que crear un verificador de numeros perfectos o un generador?

GRACIAS POR LEER!!!
En línea

"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

 79137913                          *Shadow Scouts Team*
Miseryk

Desconectado Desconectado

Mensajes: 225


SI.NU.SA U.GU.DE (2NE1 - D-Unit)


Ver Perfil
Re: [RETO] Determinar Número Perfecto
« Respuesta #3 en: 23 Octubre 2013, 14:12 pm »

A lo que me refiero es que el usuario ingrese un número en un textbox y al hacer click en un button le informe si el número ingresado es perfecto o no. :P
En línea

Can you see it?
The worst is over
The monsters in my head are scared of love
Fallen people listen up! It’s never too late to change our luck
So, don’t let them steal your light
Don’t let them break your stride
There is light on the other side
And you’ll see all the raindrops falling behind
Make it out tonight
it’s a revolution

CL!!!
Mad Antrax
Colaborador
***
Desconectado Desconectado

Mensajes: 2.164


Cheats y Trainers para todos!


Ver Perfil WWW
Re: [RETO] Determinar Número Perfecto
« Respuesta #4 en: 23 Octubre 2013, 14:50 pm »

Es más divertido hacer un generador. Mola mucho programar funciones recursivas
En línea

No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.
79137913


Desconectado Desconectado

Mensajes: 1.169


4 Esquinas


Ver Perfil WWW
Re: [RETO] Determinar Número Perfecto
« Respuesta #5 en: 23 Octubre 2013, 15:05 pm »

HOLA!!!

Que comience el reto!

Ejemplo de la funcion:
Código
  1. Private Function IsPerfect(N as double) as Boolean

Si quieren hacer una funcion que devuelva el x numero perfecto aqui la funcion:
Código
  1. Private Function GetPerfect(N as  Long) as double
y que devuelva el N numero perfecto de la lista!

GRACIAS POR LEER!!!
« Última modificación: 23 Octubre 2013, 16:35 pm por 79137913 » En línea

"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

 79137913                          *Shadow Scouts Team*
Slava_TZD
Wiki

Desconectado Desconectado

Mensajes: 1.466

♪ [8675309] ♪


Ver Perfil WWW
Re: [RETO] Determinar Número Perfecto
« Respuesta #6 en: 23 Octubre 2013, 15:15 pm »

Ya contareis cuanto os tarda en comprobar el último número, lo acabo de hacer en Perl y lo cerré porque mi macTrasto se puso hirviendo.
En línea


The fact is, even if you were to stop bombing us, imprisoning us, torturing us, vilifying us, and usurping our lands, we would continue to hate you because our primary reason for hating you will not cease to exist until you embrace Islam.
79137913


Desconectado Desconectado

Mensajes: 1.169


4 Esquinas


Ver Perfil WWW
Re: [RETO] Determinar Número Perfecto
« Respuesta #7 en: 23 Octubre 2013, 15:56 pm »

HOLA!!!

Mi funcion puede verificar los numeros perfectos sin problema, probe con el ultimo que esta aca y lo verifica en menos de 0,1 ms .-

Para que vean que lo que importa es el algoritmo no el lenguaje ;)

Código
  1. Private Function IsPerfect(N As Double) As Boolean
  2.    Dim Sum As Double
  3.    Dim Aux As Double
  4.    Aux = N / 2
  5.    Sum = 1 + Aux
  6.    Do While Aux > 2
  7.        If Fix(Aux / 2) < Aux / 2 Then
  8.            Aux = Aux + 1
  9.        End If
  10.        Aux = Aux / 2
  11.        Sum = Sum + Aux
  12.    Loop
  13.    IsPerfect = (N = Sum)
  14. End Function

Superenme ;)

GRACIAS POR LEER!!!
En línea

"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

 79137913                          *Shadow Scouts Team*
Miseryk

Desconectado Desconectado

Mensajes: 225


SI.NU.SA U.GU.DE (2NE1 - D-Unit)


Ver Perfil
Re: [RETO] Determinar Número Perfecto
« Respuesta #8 en: 23 Octubre 2013, 16:28 pm »

Mi código, con un par de deducciones que hice ;)

Código
  1. Public Function IsPerfect(ByRef numero As Double) As Boolean
  2. Dim loopc As Double
  3. Dim calc As Double
  4.  
  5. Dim NumStr As String
  6. Dim LastNum As Byte
  7.  
  8. NumStr = CStr(numero)
  9. LastNum = CByte(Mid(NumStr, Len(NumStr), 1))
  10.  
  11. Dim Max As Variant
  12.  
  13. Max = Fix(CDbl(numero) / CDbl(2))
  14.  
  15. If LastNum = 6 Or LastNum = 8 Then
  16.    For loopc = Max To 1 Step -1
  17.        'If numero Mod loopc = 0 Then
  18.        If numero Mod loopc = 0 Then
  19.            calc = calc + loopc
  20.  
  21.            If calc > numero Then
  22.                IsPerfect = False
  23.                Exit Function
  24.            End If
  25.        End If
  26.    Next loopc
  27. End If
  28.  
  29. IsPerfect = (calc = numero)
  30. End Function
  31.  

Modificación.
« Última modificación: 23 Octubre 2013, 17:04 pm por Miseryk » En línea

Can you see it?
The worst is over
The monsters in my head are scared of love
Fallen people listen up! It’s never too late to change our luck
So, don’t let them steal your light
Don’t let them break your stride
There is light on the other side
And you’ll see all the raindrops falling behind
Make it out tonight
it’s a revolution

CL!!!
79137913


Desconectado Desconectado

Mensajes: 1.169


4 Esquinas


Ver Perfil WWW
Re: [RETO] Determinar Número Perfecto
« Respuesta #9 en: 23 Octubre 2013, 16:34 pm »

HOLA!!!

Me parece o alguien tomo de base mi ejemplo funcion... :silbar: :silbar: :silbar: :silbar: :silbar:

P.D: tu funcion da OVERFLOW en esta linea cuando se inserta el numero 2305843008139952128 :
Código
  1.       If numero Mod loopc = 0 Then

GRACIAS POR LEER!!!
« Última modificación: 23 Octubre 2013, 16:41 pm por 79137913 » En línea

"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

 79137913                          *Shadow Scouts Team*
Páginas: [1] 2 3 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines