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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  [RETO] Comprobar si un numero dado es un numero de la suerte
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 2 3 4 5 [6] Ir Abajo Respuesta Imprimir
Autor Tema: [RETO] Comprobar si un numero dado es un numero de la suerte  (Leído 15,984 veces)
LeandroA
Moderador
***
Desconectado Desconectado

Mensajes: 760


www.leandroascierto.com


Ver Perfil WWW
Re: [RETO] Comprobar si un numero dado es un numero de la suerte
« Respuesta #50 en: 16 Agosto 2010, 01:19 am »

Karcrack te queria manda un MP pero tenes la casilla llena o si estas en el msn mandame un msg

Saludos.


En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.419


Se siente observado ¬¬'


Ver Perfil
Re: [RETO] Comprobar si un numero dado es un numero de la suerte
« Respuesta #51 en: 16 Agosto 2010, 01:50 am »

Buaaah!!! No he conseguido batir al codigo de Tokes, incluso haciendo el algoritmo en ASM... (Resulta que tardo casi lo mismo en cargar el codigo (vTable) que en hacer el algoritmo entero :laugh: :laugh:)

Para mi hay un ganador claro a no ser que se demuestre lo contrario... :P... Asi que, ire pensando otro reto >:D :laugh:


En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: [RETO] Comprobar si un numero dado es un numero de la suerte
« Respuesta #52 en: 16 Agosto 2010, 07:41 am »

yo queria participar y se me habia ocurrido la idea del redim, pero no me salio el algoritmo y me negaba a fijarme en sus codigos :P y hasta se me ocurrio usar listas enlazadas y doblemente enlazadas, pero mi base del algoritmo fallaba :xD

Muy impresionante lo que hicieron, y si, ya deberian ir cerrando y proclamar un ganador. Yo tengo un reto para mas tarde :P
En línea

Dessa


Desconectado Desconectado

Mensajes: 624



Ver Perfil
Re: [RETO] Comprobar si un numero dado es un numero de la suerte
« Respuesta #53 en: 17 Agosto 2010, 23:58 pm »

EDITO:

Solo me falta un if pero no logro resolverlo, me acerqué bastante pero no alcalzó.

Código:


Option Explicit
Private Declare Function GetTickCount Lib "Kernel32" () As Long
 
Private Sub Form_Load()
   Dim x As Long
   Dim s As String
   Dim t1 As Long
   Dim t2 As Long
 
   If App.LogMode = 0 Then
   MsgBox "Ejecutar compilado"
   End
   End If
  
   Me.AutoRedraw = True
 
   'Dessa
   Me.Print "Dessa"
   t1 = GetTickCount
   For x = 5000 To 7000
       If IsLucky(x) Then
           s = s & x & " "
       End If
   Next
   t2 = GetTickCount
   Me.Print t2 - t1 & vbNewLine
 
   MsgBox s, vbOKOnly, "Dessa"
   s = ""
 
   'Tokes
   Me.Print "Tokes"
   t1 = GetTickCount
   For x = 5000 To 7000
       If verifnum4(x) Then
           s = s & x & " "
       End If
   Next
   t2 = GetTickCount
   Me.Print t2 - t1 & vbNewLine
   MsgBox s, vbOKOnly, "Tokes"
   s = ""
End Sub
 
'Dessa

Function IsLucky(lngNum As Long) As Boolean

Dim x As Long
Dim cont As Long
Dim contStep As Long
Dim Indice As Long
Dim numLuck() As Long

If lngNum < 1 Then Exit Function
If lngNum Mod 2 = 0 Then Exit Function
If lngNum = 1 Or lngNum = 3 Then
   IsLucky = True
   Exit Function
End If
If lngNum = 5 Then Exit Function

    ReDim numLuck(lngNum)
    For x = 1 To lngNum Step 2
        numLuck(contStep) = x
        contStep = contStep + 1
    Next
    ReDim Preserve numLuck(contStep - 1)
    
contStep = 0
cont = 0
Indice = 1

While numLuck(Indice) <= UBound(numLuck)
     For x = 0 To UBound(numLuck)
       If cont = numLuck(Indice) - 1 Then
          cont = 0
       Else
           numLuck(contStep) = numLuck(x)
           cont = cont + 1
           contStep = contStep + 1
       End If
     Next
    If contStep = numLuck(Indice + 1) Then
      Exit Function
    Else
      ReDim Preserve numLuck(contStep - 1)
      If numLuck(UBound(numLuck)) <> lngNum Then Exit Function
    End If
    cont = 0
    contStep = 0
    Indice = Indice + 1
Wend
IsLucky = True
  
End Function

 ' Tokes (Cuarto intento)
Private Function verifnum4(ByVal Num As Long) As Boolean
Dim bufA() As Long
Dim indElim As Long
Dim indElim_aux As Long
Dim ordenElim As Long
Dim i As Long
Dim i_auxA As Long
Dim i_auxB As Long


    If (Num And 1) = 0 Then
        Exit Function
    End If
    If Num < 5 Then
        verifnum4 = True
        Exit Function
    End If
    
    ReDim bufA(0 To Num)
    
    ordenElim = 2
    i = 1
    For i_auxA = 1 To Num Step 2
        bufA(i) = i_auxA
        i = i + 1
    Next i_auxA
    i = i - 1
        
    Do
        indElim = bufA(ordenElim)
        If indElim > i Then
            verifnum4 = True
            Exit Function
        End If
        If indElim = i Then Exit Function
        i_auxA = indElim
        i_auxB = indElim + 1
        Do
            For indElim_aux = indElim - 2 To 0 Step -1
                If i_auxB > i Then Exit Do
                bufA(i_auxA) = bufA(i_auxB)
                i_auxA = i_auxA + 1
                i_auxB = i_auxB + 1
            Next indElim_aux
            If i_auxB = i Then Exit Function
            i_auxB = i_auxB + 1
        Loop
        i = i_auxA - 1
        ordenElim = ordenElim + 1
    Loop
End Function







« Última modificación: 18 Agosto 2010, 23:32 pm por Dessa » En línea

Adrian Desanti
Páginas: 1 2 3 4 5 [6] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Convertidor de número literal a número real
Programación C/C++
david_BS 0 1,712 Último mensaje 6 Mayo 2012, 21:34 pm
por david_BS
ayuda con un numero que se repita
Programación C/C++
daniel010 2 1,369 Último mensaje 13 Septiembre 2013, 03:02 am
por GenR_18
saber primer numero y ultimo numero [solucionado]
Bases de Datos
basickdagger 4 2,221 Último mensaje 3 Septiembre 2014, 17:19 pm
por basickdagger
Generar numeros que contengan un numero dado x « 1 2 »
Programación C/C++
GoBrit 13 3,208 Último mensaje 17 Enero 2015, 02:28 am
por engel lex
Invertir un número dado
Programación C/C++
BortizF 3 1,735 Último mensaje 18 Octubre 2017, 16:20 pm
por BortizF
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines