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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  [RETO] IsFibonacciNumber(N as long) as Boolean
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 2 [3] Ir Abajo Respuesta Imprimir
Autor Tema: [RETO] IsFibonacciNumber(N as long) as Boolean  (Leído 13,819 veces)
Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
Re: [RETO] IsFibonacciNumber(N as long) as Boolean
« Respuesta #20 en: 15 Febrero 2011, 19:53 pm »

Ook, con trampa creo que gano... :rolleyes:

Código
  1. Private Const sF As String = " 0 1 2 35 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 121393 196418 317811 514229 832040 1346269 2178309 3524578 5702887 9227465 14930352 24157817 39088169 63245986 102334155 165580141 267914296 433494437 701408733 1134903170 1836311903 "
  2.  
  3. Public Static Function IsFibonacci_WithCache_MrFrog(ByRef lngNum As Long) As Boolean
  4.    IsFibonacci_WithCache_MrFrog = InStrB(1, sF, " " & lngNum & " ")
  5. End Function

DoEvents! :P


« Última modificación: 16 Febrero 2011, 09:14 am por Mr. Frog © » En línea

ignorantev1.1


Desconectado Desconectado

Mensajes: 617


/\ Así acabo cuando quiero programar...


Ver Perfil WWW
Re: [RETO] IsFibonacciNumber(N as long) as Boolean
« Respuesta #21 en: 15 Febrero 2011, 21:53 pm »

Código
  1. Private Const sF As String = "0 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 121393 196418 317811 514229 832040 1346269 2178309 3524578 5702887 9227465 14930352 24157817 39088169 63245986 102334155 165580141 267914296 433494437 701408733 1134903170 1836311903"
  2.  
  3. Public Static Function IsFibonacci_WithCache_MrFrog(ByRef lngNum As Long) As Boolean
  4.    IsFibonacci_WithCache_MrFrog = InStr(1, sF, lngNum, vbBinaryCompare)
  5. End Function
  6.  
  7. private sub Form_load()
  8.   msgbox isfibonacci_withcache_mrfrog(4)  '<------ True!!!!!
  9. end sub
  10.  

Código
  1. Private Const sF As String = " 0 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 121393 196418 317811 514229 832040 1346269 2178309 3524578 5702887 9227465 14930352 24157817 39088169 63245986 102334155 165580141 267914296 433494437 701408733 1134903170 1836311903 "
  2.  
  3. Function isfibonacciIgno(IngNum As Long) As Boolean
  4.    isfibonacciIgno = InStr(sF, " " & IngNum & " ")
  5. End Function
  6.  

 ;)


En línea

Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
Re: [RETO] IsFibonacciNumber(N as long) as Boolean
« Respuesta #22 en: 16 Febrero 2011, 00:28 am »

Ya está corregida. :)

Test:
Código:
Option Explicit

Private Const sF As String = " 0 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 121393 196418 317811 514229 832040 1346269 2178309 3524578 5702887 9227465 14930352 24157817 39088169 63245986 102334155 165580141 267914296 433494437 701408733 1134903170 1836311903 "
 
Function isfibonacciIgno(IngNum As Long) As Boolean
    isfibonacciIgno = InStr(sF, " " & IngNum & " ")
End Function

Public Static Function IsFibonacci_WithCache_MrFrog(ByRef lngNum As Long) As Boolean
    IsFibonacci_WithCache_MrFrog = InStrB(1, sF, " " & lngNum & " ")
End Function

Public Function IsFibonacci_WithCache(ByRef vVal As Long) As Boolean
Dim lng_i          As Long
Dim var_cache()
    var_cache() = Array(0, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811, 514229, 832040, 1346269, 2178309, 3524578, 5702887, 9227465, 14930352, 24157817, 39088169, 63245986, 102334155, 165580141, 267914296, 433494437, 701408733, 1134903170, 1836311903)
    For lng_i = 0 To UBound(var_cache)
        If var_cache(lng_i) = vVal Then IsFibonacci_WithCache = True: Exit For
    Next lng_i
End Function

Public Function FibonacciChecker_eCode(ByRef lNumero As Long) As Boolean
Dim FiSplit() As String
Dim i As Long
Const Fi As String = "0,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368"
FiSplit() = Split(Fi, ",", -1, vbBinaryCompare)
 
For i = 0 To 23
    If lNumero = CLng(FiSplit(i)) Then FibonacciChecker_eCode = True: Exit Function
    If lNumero < CLng(FiSplit(i)) Then FibonacciChecker_eCode = False: Exit Function
Next i
End Function

Private Sub Form_Load()
If App.LogMode = 0 Then End 'Compile it, stupid!

Dim t As New CTiming
Dim x As Long
    AutoRedraw = True
    
    t.Reset
    For x = 0 To 100000
        IsFibonacci_WithCache_MrFrog x
    Next
    Me.Print "MrFrog", , t.sElapsed
    
    t.Reset
    For x = 0 To 100000
        isfibonacciIgno x
    Next
    Me.Print "ignorantev1.1", , t.sElapsed
    
    t.Reset
    For x = 0 To 100000
        IsFibonacci_WithCache x
    Next
    Me.Print "BlackZer0x", , t.sElapsed
    
    t.Reset
    For x = 0 To 100000
        FibonacciChecker_eCode x
    Next
    Me.Print "Elemental Code", t.sElapsed
End Sub

Resultado:


DoEvents! :P
« Última modificación: 16 Febrero 2011, 09:16 am por Mr. Frog © » En línea

ignorantev1.1


Desconectado Desconectado

Mensajes: 617


/\ Así acabo cuando quiero programar...


Ver Perfil WWW
Re: [RETO] IsFibonacciNumber(N as long) as Boolean
« Respuesta #23 en: 16 Febrero 2011, 03:32 am »

Código
  1. rivate Const sF As String = "0 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 121393 196418 317811 514229 832040 1346269 2178309 3524578 5702887 9227465 14930352 24157817 39088169 63245986 102334155 165580141 267914296 433494437 701408733 1134903170 1836311903"
  2.  
  3. Public Static Function IsFibonacci_WithCache_MrFrog(ByRef lngNum As Long) As Boolean
  4.    IsFibonacci_WithCache_MrFrog = InStr(1, sF, (" " & lngNum & " "), vbBinaryCompare)
  5. End Function
  6.  
  7. private sub form_load()
  8.    msgbox IsFibonacci_WithCache_MrFrog(0) <------ FALSE!!!
  9.    msgbox IsFibonacci_WithCache_MrFrog(1836311903) <------ FALSE!!!
  10. end sub
  11.  

 :xD no me hagas caso  :¬¬
En línea

Elemental Code


Desconectado Desconectado

Mensajes: 622


Im beyond the system


Ver Perfil
Re: [RETO] IsFibonacciNumber(N as long) as Boolean
« Respuesta #24 en: 16 Febrero 2011, 03:46 am »

rana, pone los otros codigos tambien.

No solamente los que buscan en arrays.
Manejando arrays soy un queso.
En línea

I CODE FOR $$$
Programo por $$$
Hago tareas, trabajos para la facultad, lo que sea en VB6.0

Mis programas
Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
Re: [RETO] IsFibonacciNumber(N as long) as Boolean
« Respuesta #25 en: 16 Febrero 2011, 08:55 am »

rana, pone los otros codigos tambien.

No solamente los que buscan en arrays.
Manejando arrays soy un queso.
¿Ya está puestos en la pág anterior no? :huh:

@ignorantev1.1
Dios, soy un desastre, al llamar tu constante igual que la mía, al copiarlo para el test, copié la mía en vez de la tuya... :¬¬

PD: Tabla de resultados actualizada! :D

DoEvents! :P
« Última modificación: 16 Febrero 2011, 09:14 am por Mr. Frog © » En línea

79137913


Desconectado Desconectado

Mensajes: 1.169


4 Esquinas


Ver Perfil WWW
Re: [RETO] IsFibonacciNumber(N as long) as Boolean
« Respuesta #26 en: 16 Febrero 2011, 12:05 pm »

HOLA!!!

Creo que ya terminamos :P :

TABLA POSITIVOS Y NEGATIVOS
Código:
"******TEST HECHO POR 79137913******"
**PRUEBA CON NUMEROS +/- HASTA EL MAX**
7913: 26,316 msec
BZro: 49,330 msec

Código:
Comprobacion de numeros de Fibonacci Positivos:
Ganador    Elemental Code
2do Puesto Mr Frog
3er Puesto 79137913

Comprobacion de numeros de Fibonacci Positivos (trampa):
Ganador    Mr Frog
2do Puesto Ignorante v1.1
3er Puesto BlackZeroX[escala de grises :P]

Comprobacion de numeros de Fibonacci Enteros (+/-):
Ganador 79137913
2do Puesto BlackZeroX[/escala de grises :P]

GRACIAS POR LEER!!!
« Última modificación: 16 Febrero 2011, 18:59 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*
BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: [RETO] IsFibonacciNumber(N as long) as Boolean
« Respuesta #27 en: 16 Febrero 2011, 18:39 pm »

HOLA!!!

Creo que ya terminamos...

Código:
Comprobacion de numeros de Fibonacci Enteros (+/-):
Unico Participante 79137913

No me gusto eso ya que mi funcion soporta numeros negativos (los compruevo en bits).

Dulces Lunas!¡.
En línea

The Dark Shadow is my passion.
79137913


Desconectado Desconectado

Mensajes: 1.169


4 Esquinas


Ver Perfil WWW
Re: [RETO] IsFibonacciNumber(N as long) as Boolean
« Respuesta #28 en: 16 Febrero 2011, 19:04 pm »

HOLA!!!

@BlackZeroX▓▓▒▒░░ : Sorry no me habia dado cuenta :P.

Ya modifique las cosas

HOLA!!!

Creo que ya terminamos :P :

TABLA POSITIVOS Y NEGATIVOS
Código:
"******TEST HECHO POR 79137913******"
**PRUEBA CON NUMEROS +/- HASTA EL MAX**
7913: 26,316 msec
BZro: 49,330 msec

Código:
Comprobacion de numeros de Fibonacci Positivos:
Ganador    Elemental Code
2do Puesto Mr Frog
3er Puesto 79137913

Comprobacion de numeros de Fibonacci Positivos (trampa):
Ganador    Mr Frog
2do Puesto Ignorante v1.1
3er Puesto BlackZeroX[escala de grises :P]

Comprobacion de numeros de Fibonacci Enteros (+/-):
Ganador 79137913
2do Puesto BlackZeroX[/escala de grises :P]

GRACIAS POR LEER!!!

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*
Páginas: 1 2 [3] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con la estructura de boolean
Programación Visual Basic
CRAB 3 3,242 Último mensaje 12 Julio 2005, 20:32 pm
por Crack_X
Clase Boolean
Java
Franer 1 3,169 Último mensaje 13 Febrero 2010, 18:06 pm
por panaka
Variable boolean en java, cuanto mide?
Java
nico56 5 8,228 Último mensaje 20 Julio 2010, 08:07 am
por Aeros
[Reto Batch] IsFibonacciNumber (79137913) « 1 2 »
Scripting
Eleкtro 14 7,476 Último mensaje 22 Julio 2012, 03:00 am
por Binary_Death
PL/SQL función boolean
Bases de Datos
Psyke1 0 2,043 Último mensaje 28 Junio 2012, 15:36 pm
por Psyke1
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines