[Source] isJolly [No tengo nada que hacer...]

Iniciado por BlackZeroX, 26 Febrero 2010, 01:33 AM

0 Miembros y 1 Visitante están viendo este tema.

BlackZeroX

.
Bueno ahorita no tengo nada que hacer e hice esto...

Código (vb) [Seleccionar]


'
'   /////////////////////////////////////////////////////////////
'   // Autor:   BlackZeroX ( Ortega Avila Miguel Angel )       //
'   //                                                         //
'   // Web:     http://InfrAngeluX.Sytes.Net/                  //
'   //                                                         //
'   //    |-> Pueden Distribuir Este Codigo siempre y cuando   //
'   // no se eliminen los creditos originales de este codigo   //
'   // No importando que sea modificado/editado o engrandesido //
'   // o achicado, si es en base a este codigo                 //
'   /////////////////////////////////////////////////////////////

Option Explicit

Public Function IsJolly(ByVal StrNum As String, Optional PosOfCrash As Long) As Boolean
On Error GoTo Terminar
Dim lenNum          As Long
Dim index           As Long
Dim Desendente      As Byte
Dim Spli(1)         As Byte
Dim ValTmp(1)       As Byte
Dim Resultados()    As Byte

    lenNum = Len(StrNum)
    For index = 1 To lenNum - 1
        ValTmp(0) = CByte(Mid(StrNum, index, 1))
        ValTmp(1) = CByte(Mid(StrNum, index + 1, 1))
        Call IntercVal(ValTmp(1), ValTmp(0))
        Spli(0) = ValTmp(0) - ValTmp(1)
        ValTmp(0) = Spli(1)
        ValTmp(1) = Spli(0)
        Call IntercVal(ValTmp(1), ValTmp(0))
        Debug.Print Spli(0)
        If index > 1 Then
            IsJolly = Not ValTmp(0) - ValTmp(1) > 1
            If IsJolly Then
                If (ValTmp(0) - ValTmp(1) + 1) = 0 Then
                    If Desendente = 0 Then
                        Desendente = 1
                    Else
                        IsJolly = ((ValTmp(0) > ValTmp(1)) And Desendente = 1)
                        If Not IsJolly Then Exit For
                    End If
                ElseIf (ValTmp(0) - ValTmp(1) - 1) = 0 Then
                    If Desendente = 0 Then
                        Desendente = 2
                    Else
                        IsJolly = ((ValTmp(0) < ValTmp(1) Or (ValTmp(0) - 1) = ValTmp(1)) And Desendente = 2)
                        If Not IsJolly Then Exit For
                    End If
                End If
            Else
                PosOfCrash = index
                Exit For
            End If
        End If
        Spli(1) = Spli(0)
    Next index
Exit Function
Terminar:
        IsJolly = False
End Function
Public Sub IntercVal(ByRef ValMenor As Byte, ByRef ValMayor As Byte)
Dim Tmp As Byte
    If Not ValMenor < ValMayor Then
        Tmp = ValMayor
        ValMayor = ValMenor
        ValMenor = Tmp
    End If
End Sub



Notas:

Este texto fue escrito por  DARK_J4V13R el 08/02/2010, 20:58   en foros PH... así de aburrido ando xP!¡.

Citar¿Cómo saber si un número es Jolly o no?

Si tenemos el numero: 51421 entonces para saber si ese número es jolly o no debemos de hacer la siguiente operación:

5-1=4
4-1=3
4-2=2
2-1=1

Resultado: Es Jolly

Como ven deben de ordenar los números de tal manera que no den negativos y para saber si es jolly los resultados deben de ser consecutivos como podrán ver: 4,3,2,1 son consecutivos por lo tanto es Jolly, pero si encaso no fueran consecutivos el resultado sería que no es Jolly.

Nota: Si el resultado es de mayor a menor o de menor a mayor no importa ya que si es consecutivo sigue siendo Jolly.

Ejemplo #2

Número: 41423

4-1=3
4-1=3
4-2=2
3-2=1

Resultado: Es Jolly

En este ejemplo como verán el 3 aparece dos veces, esto no afecta en nada el resultado ya que si siguen llevando un orden consecutivo sigue siendo Jolly

Ejemplo #3

Numero: 43117

4-3=1
3-1=2
1-1=0
7-1=6

Resultado: No es Jolly

El resultado aquí No es Jolly ya que como los resultados no llevan un orden consecutivo no son Jolly.

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

agus0


BlackZeroX

Cita de: agus0 en 26 Febrero 2010, 04:29 AM

Ni sabia que eso existia :P

yo tampoco, pero lo encontré y bueno hay esta...como dije estaba aburrido continuo con lo que me estaba dando dolor de cabeza...

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

agus0

Cita de: BlackZeroX▓▓▒▒░░ en 26 Febrero 2010, 06:10 AM
Cita de: agus0 en 26 Febrero 2010, 04:29 AM

Ni sabia que eso existia :P

yo tampoco, pero lo encontré y bueno hay esta...como dije estaba aburrido continuo con lo que me estaba dando dolor de cabeza...

Dulces Lunas!¡.


Che Black tengo una duda que tengo desde que te leeo en este foro Cuando escribis
"Dulces Lunas!¡." o "Sangrientas Lunas!¡." ¿Que quiere decir? mas que nada lo de lunas???

ssccaann43 ©

Jajajajaja... BlackZerox es un poco "Misterioso"... Buena honda, muy sociable, pero algo "Zatanico"... Sin ofender black...
- Miguel Núñez
Todos tenemos derechos a ser estupidos, pero algunos abusan de ese privilegio...
"I like ^TiFa^"

BlackZeroX

Corregí el código por uno que usa menos memoria [Aunque no tenga mucho caso], y ya que Jolly indica numeros consecuritos de 1 en 1...

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

agus0

Cita de: ssccaann43 en 26 Febrero 2010, 14:45 PM
Jajajajaja... BlackZerox es un poco "Misterioso"... Buena honda, muy sociable, pero algo "Zatanico"... Sin ofender black...
si ^^ es verdad pero sigo con la duda esa :P

BlackZeroX


Alguien sabe si esto de números Jolly son ciertos... la vdd lo dudo pero bueno .

P.D.:
Conste que no quería responder... pero aprovechando la ausencia de Seba... [Espero no haga una aparición dramática]
Me gusta la luna y la veo con distintos toques según mis ánimos de noviazgo, algo cursi para un satanico segun algunos, pero no soy satánico solo me llama la atención lo que es la Demonología...

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

Hasseds

#8
La verdad que la única "jolly" que conozco es mi prima la Yolanda.  :xD  y las "sangrientas lunas" para mí son las noches en que mi novia está con "don período"  :xD

PD: Che, hace como dos días que no se pelea nadie, que estará pasando ?  ;-)
Sergio Desanti

agus0

Cita de: Hasseds en 27 Febrero 2010, 19:38 PM
La verdad que la única "jolly" que conozco es mi prima la Yolanda.  :xD  y las "sangrientas lunas" para mí son las noches en que mi novia está con "don período"  :xD

PD: Che, hace como dos días que no se pelea nadie, que estará pasando ?  ;-)

vos gil deja de postear boludces :P

Jjjajaja