Autor
|
Tema: [RETO] IsFibonacciNumber(N as long) as Boolean (Leído 14,790 veces)
|
Psyke1
Wiki
Desconectado
Mensajes: 1.089
|
Ook, con trampa creo que gano... 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 " Public Static Function IsFibonacci_WithCache_MrFrog(ByRef lngNum As Long) As Boolean IsFibonacci_WithCache_MrFrog = InStrB(1, sF, " " & lngNum & " ") End Function
DoEvents!
|
|
« Última modificación: 16 Febrero 2011, 09:14 am por Mr. Frog © »
|
En línea
|
|
|
|
ignorantev1.1
Desconectado
Mensajes: 617
/\ Así acabo cuando quiero programar...
|
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" Public Static Function IsFibonacci_WithCache_MrFrog(ByRef lngNum As Long) As Boolean IsFibonacci_WithCache_MrFrog = InStr(1, sF, lngNum, vbBinaryCompare) End Function private sub Form_load() msgbox isfibonacci_withcache_mrfrog(4) '<------ True!!!!! end sub
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
|
|
|
En línea
|
|
|
|
Psyke1
Wiki
Desconectado
Mensajes: 1.089
|
Ya está corregida. Test: 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!
|
|
« Última modificación: 16 Febrero 2011, 09:16 am por Mr. Frog © »
|
En línea
|
|
|
|
ignorantev1.1
Desconectado
Mensajes: 617
/\ Así acabo cuando quiero programar...
|
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" Public Static Function IsFibonacci_WithCache_MrFrog(ByRef lngNum As Long) As Boolean IsFibonacci_WithCache_MrFrog = InStr(1, sF, (" " & lngNum & " "), vbBinaryCompare) End Function private sub form_load() msgbox IsFibonacci_WithCache_MrFrog(0) <------ FALSE!!! msgbox IsFibonacci_WithCache_MrFrog(1836311903) <------ FALSE!!! end sub
no me hagas caso
|
|
|
En línea
|
|
|
|
Elemental Code
Desconectado
Mensajes: 622
Im beyond the system
|
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
Mensajes: 1.089
|
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? @ignorantev1.1Dios, 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! DoEvents!
|
|
« Última modificación: 16 Febrero 2011, 09:14 am por Mr. Frog © »
|
En línea
|
|
|
|
79137913
Desconectado
Mensajes: 1.169
4 Esquinas
|
HOLA!!! Creo que ya terminamos : TABLA POSITIVOS Y NEGATIVOS "******TEST HECHO POR 79137913******" **PRUEBA CON NUMEROS +/- HASTA EL MAX** 7913: 26,316 msec BZro: 49,330 msec
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
Mensajes: 3.158
I'Love...!¡.
|
HOLA!!! Creo que ya terminamos... 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
Mensajes: 1.169
4 Esquinas
|
HOLA!!! @BlackZeroX▓▓▒▒░░ : Sorry no me habia dado cuenta . Ya modifique las cosas HOLA!!! Creo que ya terminamos : TABLA POSITIVOS Y NEGATIVOS "******TEST HECHO POR 79137913******" **PRUEBA CON NUMEROS +/- HASTA EL MAX** 7913: 26,316 msec BZro: 49,330 msec
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*
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Ayuda con la estructura de boolean
Programación Visual Basic
|
CRAB
|
3
|
3,407
|
12 Julio 2005, 20:32 pm
por Crack_X
|
|
|
Clase Boolean
Java
|
Franer
|
1
|
3,308
|
13 Febrero 2010, 18:06 pm
por panaka
|
|
|
Variable boolean en java, cuanto mide?
Java
|
nico56
|
5
|
8,464
|
20 Julio 2010, 08:07 am
por Aeros
|
|
|
[Reto Batch] IsFibonacciNumber (79137913)
« 1 2 »
Scripting
|
Eleкtro
|
14
|
8,124
|
22 Julio 2012, 03:00 am
por Binary_Death
|
|
|
PL/SQL función boolean
Bases de Datos
|
Psyke1
|
0
|
2,170
|
28 Junio 2012, 15:36 pm
por Psyke1
|
|