Autor
|
Tema: [RETO] Project Euler 2 (Leído 11,191 veces)
|
Psyke1
Wiki
Desconectado
Mensajes: 1.089
|
Generar algoritmo que devuelva la suma de los números pares de la serie de Fibonacci menores a 4000000. Info: http://projecteuler.net/problem=2 http://es.wikipedia.org/wiki/Sucesi%C3%B3n_de_Fibonacci La función es correcta si devuelve: Estructura a seguir: Private Function NOMBREFUNCION(Optional lLimit As Long = 4000000) As Long
DoEvents! ![:P](https://foro.elhacker.net/Smileys/navidad/tongue.gif)
|
|
« Última modificación: 3 Febrero 2013, 16:22 pm por Psyke1 »
|
En línea
|
|
|
|
Danyfirex
Desconectado
Mensajes: 493
My Dear Mizuho
|
Bueno aquí dejo la mía. un Poco larga ![:silbar:](https://foro.elhacker.net/Smileys/navidad/silbar.gif) pero funciona. CorrejidoPrivate Function Fibonacci() As Long Dim a As Long, b As Long, c As Long, x As Long: x = &H4 a = 0 b = 0 c = 0 a = (a * x) + 2: Fibonacci = Fibonacci + a: b = a: a = (a * x): Fibonacci = Fibonacci + a: c = a: a = (a * x) + b: Fibonacci = Fibonacci + a: b = a: a = (a * x) + c: Fibonacci = Fibonacci + a: c = a: a = (a * x) + b: Fibonacci = Fibonacci + a: b = a: a = (a * x) + c: Fibonacci = Fibonacci + a: c = a: a = (a * x) + b: Fibonacci = Fibonacci + a: b = a: a = (a * x) + c: Fibonacci = Fibonacci + a: c = a: a = (a * x) + b: Fibonacci = Fibonacci + a: b = a: a = (a * x) + c: Fibonacci = Fibonacci + a: c = a: a = (a * x) + b: Fibonacci = Fibonacci + a: end Function
Saludos
|
|
« Última modificación: 24 Enero 2013, 22:11 pm por Danyfirex »
|
En línea
|
|
|
|
Psyke1
Wiki
Desconectado
Mensajes: 1.089
|
Como no organices mejor el código no nos vamos a enterar de nada. ![:silbar:](https://foro.elhacker.net/Smileys/navidad/silbar.gif) No abuses tanto de los ":". Y te informo que haciendo esto: Dim a, b, c As Long
Sólo declaras la última variable como Long, las otras, como no has puesto nada, por defecto serían Variant, que ocupa memoria innecesariamente. Sería así: Dim a As Long, b As Long, c As Long
DoEvents! ![:P](https://foro.elhacker.net/Smileys/navidad/tongue.gif)
|
|
|
En línea
|
|
|
|
Danyfirex
Desconectado
Mensajes: 493
My Dear Mizuho
|
Como no organices mejor el código no nos vamos a enterar de nada. ![:silbar:](https://foro.elhacker.net/Smileys/navidad/silbar.gif) No abuses tanto de los ":". Y te informo que haciendo esto: Dim a, b, c As Long
Sólo declaras la última variable como Long, las otras, como no has puesto nada, por defecto serían Variant, que ocupa memoria innecesariamente. Sería así: Dim a As Long, b As Long, c As Long
DoEvents! ![:P](https://foro.elhacker.net/Smileys/navidad/tongue.gif) No sabia eso. Gracias Psyke1. y perdon por el abuso de los :. gracias Corrijo el código. saludos EDITO:Comprobé asi y me dice que es long. Private Sub Form_Load() Dim x, y As Long x = 4613732 MsgBox (VarType(y) = vbLong) End Sub
Seguro que abarca los bytes de un tipo Variant?
|
|
« Última modificación: 24 Enero 2013, 21:04 pm por Danyfirex »
|
En línea
|
|
|
|
rob1104
Desconectado
Mensajes: 340
Usuario común
|
Seguro que abarca los bytes de un tipo Variant? Si ![:)](https://foro.elhacker.net/Smileys/navidad/smiley.gif) Private Sub Form_Load() Dim x, y As Long x = 4613732 y = 4613732 MsgBox LenB(x) & " bytes" MsgBox LenB(y) & " bytes" End Sub
|
|
|
En línea
|
Sin análisis de requisitos o sin diseño, programar es el arte de crear errores en un documento de texto vacío.
|
|
|
Danyfirex
Desconectado
Mensajes: 493
My Dear Mizuho
|
Si ![:)](https://foro.elhacker.net/Smileys/navidad/smiley.gif) Private Sub Form_Load() Dim x, y As Long x = 4613732 y = 4613732 MsgBox LenB(x) & " bytes" MsgBox LenB(y) & " bytes" End Sub
Gracias. ya alargue el tema con mis preguntas y respuestas tontas ![:silbar:](https://foro.elhacker.net/Smileys/navidad/silbar.gif) Edito mi código. saludos
|
|
|
En línea
|
|
|
|
imoen
Desconectado
Mensajes: 1.589
|
hola
Si si no le pones tipo la declaracion automatica es variant. Otra cosa si declarais en vez de 3 variables , un array de 3 elementos ?¿ no sale mas rentable y asi lo podeis usar en los bucles?¿
bs imoen
|
|
|
En línea
|
Medion Akoya p6624 i-3 370 8 gigas DDR 3 RAM //750 hd 5400 gforce gt425 optimus XDD Esta es mi casa, mi pueblo , o lo que queda de el aun asi lucharemos ... POR BENALIA....!!
srta imoen
|
|
|
rob1104
Desconectado
Mensajes: 340
Usuario común
|
Pues bueno, como ni a mí ni a mi core 2 duo nos importa la velocidad y ademas que no tocaba vb6 desde hace mas de 2 años pues seguiré los codigos para ir practicando, no sean tan destructivos ![:P](https://foro.elhacker.net/Smileys/navidad/tongue.gif) Function robEuler2() As Long Dim f1 As Long, f2 As Long, contador As Long, resultado As Long, suma As Long f1 = 0 f2 = 1 resultado = f1 + f2 Do While suma < 4000000 f1 = f2 + resultado resultado = f2 f2 = f1 contador = contador + 1 If f2 Mod 2 = 0 Then suma = suma + f2 End If Loop robEuler2 = suma End Function
|
|
|
En línea
|
Sin análisis de requisitos o sin diseño, programar es el arte de crear errores en un documento de texto vacío.
|
|
|
imoen
Desconectado
Mensajes: 1.589
|
HOla
Codigo muy clarito, una pregunta , la sucesion de fibonacci tiene pares cada 4 y 3 numeros os puede ayudar eso para no tener que divir y optimizar codigo XD
bs imoen
|
|
|
En línea
|
Medion Akoya p6624 i-3 370 8 gigas DDR 3 RAM //750 hd 5400 gforce gt425 optimus XDD Esta es mi casa, mi pueblo , o lo que queda de el aun asi lucharemos ... POR BENALIA....!!
srta imoen
|
|
|
Psyke1
Wiki
Desconectado
Mensajes: 1.089
|
Aquí dejo la mía: Private Static Function Psk1_PE2(Optional lLimit As Long = &H3D0900) As Long Dim Q1 As Long Dim Q2 As Long Dim Q3 As Long If lLimit And &H80000000 Then Exit Function Q1 = &H1 Q2 = &H1 Q3 = &H2 Do While Q3 < lLimit Psk1_PE2 = Psk1_PE2 + Q3 Q1 = Q2 + Q3 Q2 = Q1 + Q3 Q3 = Q2 + Q1 Loop End Function
DoEvents! ![:P](https://foro.elhacker.net/Smileys/navidad/tongue.gif)
|
|
« Última modificación: 25 Enero 2013, 13:43 pm por Psyke1 »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Projecto Euler problema 12
Ejercicios
|
lDanny
|
5
|
5,499
|
16 Octubre 2010, 04:33 am
por [L]ord [R]NA
|
|
|
[RETO] Project Euler 1
« 1 2 3 4 5 »
Programación Visual Basic
|
Psyke1
|
42
|
22,099
|
26 Enero 2013, 11:20 am
por imoen
|
|
|
[RETO] Project Euler 3
« 1 2 »
Programación Visual Basic
|
Psyke1
|
13
|
7,161
|
3 Febrero 2013, 20:45 pm
por imoen
|
|
|
[RETO] Project Euler 4
« 1 2 »
Programación Visual Basic
|
Psyke1
|
10
|
6,223
|
4 Febrero 2013, 23:32 pm
por imoen
|
|
|
Ayuda con el calculo de Pi por la Serie de Euler
Programación C/C++
|
Rollingman216
|
3
|
2,292
|
24 Agosto 2017, 04:09 am
por engel lex
|
|