Título: [RETO] Project Euler 2 Publicado por: Psyke1 en 24 Enero 2013, 19:05 pm Generar algoritmo que devuelva la suma de los números pares de la serie de Fibonacci menores a 4000000.
Info: Código: http://projecteuler.net/problem=2 La función es correcta si devuelve: Código: 4613732 Estructura a seguir: Código
DoEvents! :P Título: Re: [RETO] Proyect Euler 2 Publicado por: Danyfirex en 24 Enero 2013, 20:31 pm Bueno aquí dejo la mía. un Poco larga :silbar: pero funciona. ;D
Correjido Código
Saludos Título: Re: [RETO] Proyect Euler 2 Publicado por: Psyke1 en 24 Enero 2013, 20:49 pm Como no organices mejor el código no nos vamos a enterar de nada. :silbar: No abuses tanto de los ":".
Y te informo que haciendo esto: Código 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í: Código
DoEvents! :P Título: Re: [RETO] Proyect Euler 2 Publicado por: Danyfirex en 24 Enero 2013, 20:55 pm Como no organices mejor el código no nos vamos a enterar de nada. :silbar: No abuses tanto de los ":". Y te informo que haciendo esto: Código 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í: Código
DoEvents! :P 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. Código
Seguro que abarca los bytes de un tipo Variant? Título: Re: [RETO] Proyect Euler 2 Publicado por: rob1104 en 24 Enero 2013, 22:03 pm Citar Seguro que abarca los bytes de un tipo Variant? Si :) Código
Título: Re: [RETO] Proyect Euler 2 Publicado por: Danyfirex en 24 Enero 2013, 22:10 pm Si :) Código
Gracias. ya alargue el tema con mis preguntas y respuestas tontas :silbar: Edito mi código. saludos Título: Re: [RETO] Proyect Euler 2 Publicado por: imoen en 24 Enero 2013, 22:21 pm 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 Título: Re: [RETO] Proyect Euler 2 Publicado por: rob1104 en 24 Enero 2013, 22:22 pm 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
Código
Título: Re: [RETO] Proyect Euler 2 Publicado por: imoen en 24 Enero 2013, 22:33 pm 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 Título: Re: [RETO] Proyect Euler 2 Publicado por: Psyke1 en 25 Enero 2013, 00:34 am Aquí dejo la mía:
Código
DoEvents! :P Título: Re: [RETO] Proyect Euler 2 Publicado por: BlackZeroX en 25 Enero 2013, 03:03 am Demasiados números me servirán para una jaqueca...
Dulces Lunas!¡. Título: Re: [RETO] Proyect Euler 2 Publicado por: Karcrack en 25 Enero 2013, 03:11 am Psyke ya ha encontrado la solución óptima, porque tal y como apunta @imoen cada 3er número de Fibonacci es par...
Título: Re: [RETO] Proyect Euler 2 Publicado por: 79137913 en 25 Enero 2013, 12:24 pm HOLA!!!
Aqui una respuesta simple, ando sin time para hacer algo mejor: Código
P.D: esto me hace recordar a: [RETO] IsFibonacciNumber(N as long) (http://foro.elhacker.net/empty-t319480.0.html) GRACIAS POR LEER!!! Título: Re: [RETO] Proyect Euler 2 Publicado por: imoen en 25 Enero 2013, 12:43 pm Hola
Bueno os comento Nadie me hace caso usar un array de 3 elementos :P 79137913-> codigo muy clarito y funcional , Psyke1-> premiooo, es el código mas rápido seguramente , lo del aspersan eran punteros ?¿?¿ que no me acuerdo muy bien jeje, jeje al menos me ha hecho caso con la numeración par xDD rob114->[quotecomo ni a mí ni a mi core 2 duo nos importa la velocidad][/quote] , deberia de importar , y has abierto el cajon Y si aplicamos recursividad a este reto ?¿ Al final veo que me instalo el visual basic XDD otro reto mas y lo tengo que poner ehh xDD bs imoen Título: Re: [RETO] Proyect Euler 2 Publicado por: Psyke1 en 25 Enero 2013, 12:55 pm @79137913
¡Tu función devuelve un array! :laugh: Además, no devuelve el resultado deseado: Código
Código
También recuerdo que debe de funcionar correctamente contemplando todas las posibilidades. @imoen ¿Un array de 3 elementos? ¿Qué conseguiríamos con eso? :rolleyes: Lo del &H sirve para indicar que el número que va a continuación está en base 16. Y la recursividad está bien para ahorrar código, pero es leeeenta... :-\ DoEvents! :P Título: Re: [RETO] Proyect Euler 2 Publicado por: 79137913 en 25 Enero 2013, 13:30 pm HOLA!!!
Psyke1: Tenes razon, habia un error en mi procedimiento, al corregirlo me di cuenta que el procedimiento de todos estaba errado tambien, dejo mi funcion actualizada en el primer post. Aclaro aca bien cual es el resultado correcto (que no es el que decis vos por que tiene que ser menor al limite.) Generar algoritmo que devuelva la suma de los números de la serie de Fibonacci, y esa suma sea menor a 4000000. 3524577 GRACIAS POR LEER!!! Título: Re: [RETO] Proyect Euler 2 Publicado por: Danyfirex en 25 Enero 2013, 13:37 pm Segun las soluciones es 4613732
esta es la formula de la mio. B=2 A=Ax4+B B=A obviamente tengo que conocer el limite para obtener bien el resultado. Igual aquí dejo uno mas valido. Actualizado Código
Saludos Título: Re: [RETO] Proyect Euler 2 Publicado por: Psyke1 en 25 Enero 2013, 13:49 pm Disculpad, cometí una errata a la hora de describir el reto.
Post uno actualizado. :-* PD: ¿Voy poniendo ya el reto 3? :xD DoEvents! :P Título: Re: [RETO] Proyect Euler 2 Publicado por: Danyfirex en 25 Enero 2013, 14:02 pm Disculpad, cometí una errata a la hora de describir el reto. Post uno actualizado. :-* PD: ¿Voy poniendo ya el reto 3? :xD DoEvents! :P Yo creo que si. ;-) Título: Re: [RETO] Proyect Euler 2 Publicado por: seba123neo en 25 Enero 2013, 14:15 pm la solucion mas rapida en cualquier lenguaje, es precargar los numeros ya calculados en un array y simplemente recorrer este y sumar los pares.
Título: Re: [RETO] Proyect Euler 2 Publicado por: Karcrack en 25 Enero 2013, 15:07 pm la solucion mas rapida en cualquier lenguaje, es precargar los numeros ya calculados en un array y simplemente recorrer este y sumar los pares. La más rápida es sacar el resultado precalculado con un print :PTítulo: Re: [RETO] Proyect Euler 2 Publicado por: BlackZeroX en 25 Enero 2013, 20:35 pm La más rápida es sacar el resultado precalculado con un print :P Exactamente!¡. P.D.: @Psyke1 aun no se va dolores ¿Que hago con ella?. Dulces Lunas!¡. Título: Re: [RETO] Proyect Euler 2 Publicado por: Psyke1 en 25 Enero 2013, 22:17 pm La más rápida es sacar el resultado precalculado con un print :P ¡Qué buena idea! :D¡aquí dejo mi última versión! :xD Código
Si hago esto: Código
Devuelve esto: Código: 4613732 Es mucho más rápida. ¿alguien podría probar con otro número? :silbar: @BlackZeroX Esperemos que dolores se vaya antes que Euler, porque aún nos quedan 409 retos. :laugh: DoEvents! :P Título: Re: [RETO] Proyect Euler 2 Publicado por: Danyfirex en 25 Enero 2013, 23:19 pm @Psyke1
cuando no le pongo parámetro funciona bien. pero cuando le paso otro parametro no funciona y me hace sonar las bocinas con beeps :S saludos |