[RETO] Comprobar si un numero dado es un numero de la suerte

Iniciado por Karcrack, 11 Agosto 2010, 00:55 AM

0 Miembros y 3 Visitantes están viendo este tema.

Dessa

@ Token, tanto tu code como el mio pierden mucho en el ide, compilado es como se debe tomar los tiempos, excelente tu  codigo (ya lo habia notado) y toma denuevo los tiempos (compilados)

Saludos
Adrian Desanti

BlackZeroX

#41
.
Hay en la que me pario la de Tokes es mucho mas rapida ya que no usa Redim!¡, tenia planeado realizar una similar sin usar redim pero ya me ganaron  :¬¬ .

Actualize la funcion de Dessa

http://infrangelux.sytes.net/FileX/down.php?InfraDown=/BlackZeroX/Comprovaciones/NumOfLuck/ComprobacionVel%20V2.zip




Dessa --> 1187
PsYkE1 -- > 2015
LeandroA -- > 1313
Cobein -- > 105390
Tokes -- > 204

Se comprobaran Coherencias...

Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 5179
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 5191
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 5299
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 5335
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 5371
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 5419
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 5455
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 5491
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 5503
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 5515
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 5527
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 5551
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 5587
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 5599
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 5671
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 5707
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 5719
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 5755
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 5767
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 5803
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 5827
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 5839
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 5851
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 5911
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 5923
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 5959
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 5971
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 6019
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 6031
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 6055
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 6079
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 6115
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 6163
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 6175
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 6211
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 6271
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 6331
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 6355
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 6367
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 6379
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 6415
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 6427
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 6463
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 6475
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 6523
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 6535
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 6559
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 6631
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 6667
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 6679
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 6715
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 6763
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 6787
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 6871
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 6883
Dessa (Verdadero) ; PsYkE1 (Verdadero) ; LeandroA (Falso) ; Cobein (Verdadero) ; Tokes (Verdadero) ; --> 6931



Dulces Lunas¡.
The Dark Shadow is my passion.

LeandroA

 :-\ me equivoque de signo / por \

ReDim Preserve Arr(Num \ 2 + (Num Mod 2))

Código (vb) [Seleccionar]

Option Explicit
Private Declare Sub CopyMemory Lib "kernel32.dll" Alias "RtlMoveMemory" (ByRef Destination As Any, ByRef Source As Any, ByVal Length As Long)

Private Function IsLuckyNumber(ByVal Num As Long) As Boolean

    Dim lCount As Long, lPos As Long, i As Long
    Dim Arr() As Long

    If Num < 1 Then Exit Function
    If Num Mod 2 = 0 Then Exit Function

   ReDim Preserve Arr(Num \ 2 + (Num Mod 2))
   
    For lPos = 1 To Num Step 2
         i = i + 1
         Arr(i) = lPos
    Next


    lCount = 1

    Do While UBound(Arr) > lCount

        lCount = lCount + 1
        lPos = Arr(lCount)

        Do
            If lPos > UBound(Arr) Then Exit Do
            If lPos < UBound(Arr) Then CopyMemory Arr(lPos), Arr(lPos + 1), 4 * (UBound(Arr) - lPos)
            ReDim Preserve Arr(UBound(Arr) - 1)
            lPos = lPos + Arr(lCount) - 1
        Loop

        If Arr(UBound(Arr)) <> Num Then Exit Function
    Loop

    IsLuckyNumber = True

End Function

BlackZeroX

The Dark Shadow is my passion.

LeandroA


Psyke1


Karcrack

Gran trabajo Tokes :) Me has animado a sacar una version rapida, rapida, rapida... esta noche voy a esforzarme al maximo >:D :xD

Por cierto, otro buen punto de la funcion es la RAM que ocupa... En eso Cobein va en cabeza ;)

A ver si antes de las 3 tengo una version buena de verdad :)

Saludos

BlackZeroX

La Funcion de Tokes me parece que se puede hacer mas rapida si en lgar del For Next se sustituye por CopyMemory...

Dulces Lunas!¡.
The Dark Shadow is my passion.

Psyke1

Cita de: Karcrack en 15 Agosto 2010, 22:38 PM
Gran trabajo Tokes :) Me has animado a sacar una version rapida, rapida, rapida... esta noche voy a esforzarme al maximo >:D :xD

Por cierto, otro buen punto de la funcion es la RAM que ocupa... En eso Cobein va en cabeza ;)

A ver si antes de las 3 tengo una version buena de verdad :)

Saludos
Tengo ganas de ver tu nueva version, a proposito Karcrack, mira a ver si puedes responderme esto por favor:
http://foro.elhacker.net/programacion_visual_basic/reto_comprobar_si_un_numero_dado_es_un_numero_de_la_suerte-t301960.0.html;msg1498532#msg1498532

DoEvents¡! :P

Karcrack