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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda 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,856 veces)
79137913


Desconectado Desconectado

Mensajes: 1.169


4 Esquinas


Ver Perfil WWW
[RETO] IsFibonacciNumber(N as long) as Boolean
« en: 14 Febrero 2011, 19:42 pm »

HOLA!!!

Bueno, un reto facil, dada la funcion:

IsFibonacciNumber(N as long) as Boolean

Se le da un numero entero sea Positivo o Negativo la funcion devolvera True si efectivamente es un numero perteneciente a la serie y false si no pertenece.

N maximo =46340

Para informacion acerca de la Secuencia de Fibonacci:
http://tinyurl.com/4ar5pd4

Obviamente vamos a usar para testear:
http://foro.elhacker.net/programacion_visual_basic/src_cfrogcontestcls_by_mr_frog_copy-t318871.0.html

XD


GRACIAS POR LEER!!!


« Última modificación: 15 Febrero 2011, 16:57 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*
Elemental Code


Desconectado Desconectado

Mensajes: 622


Im beyond the system


Ver Perfil
Re: [RETO] IsFibonacciNumber(N as long)
« Respuesta #1 en: 14 Febrero 2011, 19:59 pm »

wiiiiii
siempre me gusto fibbonacci :D

che pero los numeros que nos vas a dar van de 1 a infinito? o hay algun tope?

Ya le entro :D


EDITO:

Esto puede ser muy lento, despues lo optimizo
por ahora anda bien :P

Código
  1. Public Function IsFibonacci(ByRef lNumber As Long) As Boolean
  2. Dim i As Long 'anterior
  3. Dim y As Long 'actual
  4. Dim x As Long 'Restultado a checkear
  5. i = 1
  6. y = 1
  7.    Do While x < lNumber
  8.        x = i + y
  9.        i = y
  10.        y = x
  11.        If x = lNumber Then IsFibonacci = True: Exit Function
  12.    Loop
  13.    IsFibonacci = False
  14. End Function



« Última modificación: 14 Febrero 2011, 20:22 pm por Elemental Code » 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)
« Respuesta #2 en: 14 Febrero 2011, 20:29 pm »

Que malos sois justo mañana tengo examen y me poneis retos! :(
No me podré resistir, asi que si no es hoy por mi noche o mañana posteo algo. ;)
Está interesante! :)

DoEvents! :P
En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: [RETO] IsFibonacciNumber(N as long)
« Respuesta #3 en: 14 Febrero 2011, 20:40 pm »

Che para mi deberia ser solo positivo, porque para ser negativo SIEMPRE hay que poner un limite para empezar. Sino no tenes cierta seguridad de si el numero pertenece a la serie o no. O sea, de 1 hacia adelante :P
En línea

DarkMatrix

Desconectado Desconectado

Mensajes: 150


Nuestro Limite es la Imaginacion


Ver Perfil WWW
Re: [RETO] IsFibonacciNumber(N as long)
« Respuesta #4 en: 14 Febrero 2011, 20:43 pm »

Bueno aqui dejo mi Funcion xD

Código
  1. Function isFibbonacciNum(ByVal lNumber As Long) As Boolean
  2.  
  3.    Dim Fn0 As Double
  4.    Dim Fn1 As Double
  5.    Dim i   As Double
  6.    Dim Num As Double
  7.  
  8.    Fn0 = 0
  9.    Fn1 = 1
  10.  
  11.    isFibbonacciNum = False
  12.  
  13.    If lNumber = 0 Or lNumber = 1 Then isFibbonacciNum = True: Exit Function
  14.  
  15.    For i = 1 To lNumber
  16.  
  17.        Num = Fn0 + Fn1
  18.  
  19.        Fn0 = Fn1
  20.        Fn1 = Num
  21.  
  22.        If Num = lNumber Then isFibbonacciNum = True: Exit Function
  23.  
  24.        If Num > lNumber Then Exit Function
  25.  
  26.    Next
  27.  
  28. End Function

@Elemental Code
La funcion da error con numeros grandes ( valor long maximo  = 2.147.483.647 ) y devuelve falso para los numeros 0 y 1 cuando deberian ser true o.O
« Última modificación: 14 Febrero 2011, 20:55 pm por raul338 » En línea

Todo aquello que no se puede hacer, es lo que no intentamos hacer.
Projecto Ani-Dimension Digital Duel Masters (Juego de cartas masivo multijugador online hecho en Visual Basic 6.0)

Desing by DarkMatrix
Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



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

Aquí dejo la mía:

Código
  1. Public Static Function IsFibonacciMrFrog(ByVal lngNumber As Long) As Boolean
  2. Dim dblRaised                                       As Double
  3. Dim dblSum                                          As Double
  4. Dim dblSqr                                          As Double
  5.  
  6.    dblRaised = lngNumber * lngNumber
  7.    dblSum = dblRaised + dblRaised + dblRaised + dblRaised + dblRaised + &H4
  8.    dblSqr = Sqr(dblSum)
  9.    IsFibonacciMrFrog = (dblSqr - CLong(dblSqr) = &H0)
  10.    If IsFibonacciMrFrog Then Exit Function
  11.    dblSum = dblSum - &H8
  12.    dblSqr = Sqr(dblSum)
  13.    IsFibonacciMrFrog = (dblSqr - CLong(dblSqr) = &H0)
  14. End Function

Código
  1. Private Sub Form_Load()
  2. Dim x           As Long
  3. Dim s           As String
  4.  
  5.    For x = 0 To 100
  6.        If IsFibonacciMrFrog(x) Then
  7.            s = s & x & " "
  8.        End If
  9.    Next
  10.    Debug.Print s
  11. End Sub

Resultado:
Código:
0 1 2 3 5 8 13 21 34 55 89

DoEvents! :P
« Última modificación: 15 Febrero 2011, 19:12 pm por Mr. Frog © » En línea

Elemental Code


Desconectado Desconectado

Mensajes: 622


Im beyond the system


Ver Perfil
Re: [RETO] IsFibonacciNumber(N as long)
« Respuesta #6 en: 15 Febrero 2011, 01:59 am »

para 1 la arreglo al toq.

0 no es de fibonacci :S

fibonacci se arma asi

El numero siguiente es la suma de los dos anteriores.

juraria que el 0 no iba :S

que era
1 1 2 3 5 8 13 21...

lo se porque un amigo la usaba de password y era muy facil :D
En línea

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

Mis programas
DarkMatrix

Desconectado Desconectado

Mensajes: 150


Nuestro Limite es la Imaginacion


Ver Perfil WWW
Re: [RETO] IsFibonacciNumber(N as long)
« Respuesta #7 en: 15 Febrero 2011, 02:32 am »

Cito directo de wikipedia:

Citar
En matemáticas, la sucesión de Fibonacci es la siguiente sucesión infinita de números naturales:

    0,1,1,2,3,5,8,13,21,34,55,89,144

La sucesión inicia con 0 y 1, y a partir de ahí cada elemento es la suma de los dos anteriores.

Link: http://es.wikipedia.org/wiki/Sucesi%C3%B3n_de_Fibonacci
« Última modificación: 15 Febrero 2011, 02:35 am por DarkMatrix » En línea

Todo aquello que no se puede hacer, es lo que no intentamos hacer.
Projecto Ani-Dimension Digital Duel Masters (Juego de cartas masivo multijugador online hecho en Visual Basic 6.0)

Desing by DarkMatrix
79137913


Desconectado Desconectado

Mensajes: 1.169


4 Esquinas


Ver Perfil WWW
Re: [RETO] IsFibonacciNumber(N as long)
« Respuesta #8 en: 15 Febrero 2011, 02:57 am »

HOLA!!!

Igual si siguen buscando van a ver que la secuencia empieza en el -infinito si se quieren fijar.

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*
seba123neo
Moderador
***
Desconectado Desconectado

Mensajes: 3.621



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

Hola, creo que la forma mas rapida de todas por lo que he visto de los muhcos algoritmos que hay, es meter todos los numeros ya calculados en un array y solo buscar en el.

saludos.
En línea

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,251 Último mensaje 12 Julio 2005, 20:32 pm
por Crack_X
Clase Boolean
Java
Franer 1 3,176 Último mensaje 13 Febrero 2010, 18:06 pm
por panaka
Variable boolean en java, cuanto mide?
Java
nico56 5 8,243 Último mensaje 20 Julio 2010, 08:07 am
por Aeros
[Reto Batch] IsFibonacciNumber (79137913) « 1 2 »
Scripting
Eleкtro 14 7,503 Último mensaje 22 Julio 2012, 03:00 am
por Binary_Death
PL/SQL función boolean
Bases de Datos
Psyke1 0 2,049 Último mensaje 28 Junio 2012, 15:36 pm
por Psyke1
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines