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

 

 


Tema destacado: Estamos en la red social de Mastodon


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

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: [RETO] Proyect Euler 2
« Respuesta #10 en: 25 Enero 2013, 03:03 am »

Demasiados números me servirán para una jaqueca...

Dulces Lunas!¡.


« Última modificación: 25 Enero 2013, 05:29 am por BlackZeroX (Astaroth) » En línea

The Dark Shadow is my passion.
Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: [RETO] Proyect Euler 2
« Respuesta #11 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...


En línea

79137913


Desconectado Desconectado

Mensajes: 1.169


4 Esquinas


Ver Perfil WWW
Re: [RETO] Proyect Euler 2
« Respuesta #12 en: 25 Enero 2013, 12:24 pm »

HOLA!!!

Aqui una respuesta simple, ando sin time para hacer algo mejor:
Código
  1. Private Function Fibbo7913(Optional Limit As Long = 4000000) As Long
  2. Dim aux  As Long
  3. Dim act  As Long
  4. Dim ant  As Long
  5. Dim suma As Long
  6.    ant = 1
  7.    act = 1
  8.    suma = 1
  9.    Do
  10.        If act And 1 Then suma = suma + act 'operacion binaria que me dice si es par o no
  11.        aux = act
  12.        act = act + ant
  13.        ant = aux
  14.    Loop While act < Limit
  15.    Fibbo7913 = suma
  16. End Function
  17.  

P.D: esto me hace recordar a: [RETO] IsFibonacciNumber(N as long)

GRACIAS POR LEER!!!
« Última modificación: 25 Enero 2013, 13:43 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*
imoen


Desconectado Desconectado

Mensajes: 1.589



Ver Perfil
Re: [RETO] Proyect Euler 2
« Respuesta #13 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
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 Desconectado

Mensajes: 1.089



Ver Perfil WWW
Re: [RETO] Proyect Euler 2
« Respuesta #14 en: 25 Enero 2013, 12:55 pm »

@79137913
¡Tu función devuelve un array! :laugh:

Además, no devuelve el resultado deseado:
Código
  1. Private Sub Form_Load()
  2.    Debug.Print Fibbo7913
  3. End Sub

Código
  1. 524288 '// debería de ser: 4613732

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
« Última modificación: 25 Enero 2013, 13:03 pm por Psyke1 » En línea

79137913


Desconectado Desconectado

Mensajes: 1.169


4 Esquinas


Ver Perfil WWW
Re: [RETO] Proyect Euler 2
« Respuesta #15 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.
PSYKE1 TRADUCI BIEN

RTA correcta:
 3524577


GRACIAS POR LEER!!!
« Última modificación: 25 Enero 2013, 13:40 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*
Danyfirex


Desconectado Desconectado

Mensajes: 493


My Dear Mizuho


Ver Perfil
Re: [RETO] Proyect Euler 2
« Respuesta #16 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
  1. Private Function fb(Optional lLimit As Long = 4000000) As Long
  2. Dim fn As Long, f1 As Long, f2 As Long
  3. If lLimit And &H80000000 Then Exit Function
  4. f1 = 1
  5. f2 = f1
  6. Do While f2 < lLimit
  7. fn = f1 + f2
  8. f1 = f2
  9. f2 = fn
  10. If fn Mod 2 = 0 Then
  11. fb = fb + fn
  12. End If
  13. Loop
  14. End Function

Saludos
« Última modificación: 25 Enero 2013, 14:02 pm por Danyfirex » En línea

Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
Re: [RETO] Proyect Euler 2
« Respuesta #17 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
En línea

Danyfirex


Desconectado Desconectado

Mensajes: 493


My Dear Mizuho


Ver Perfil
Re: [RETO] Proyect Euler 2
« Respuesta #18 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.  ;-)
En línea

seba123neo
Moderador
***
Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: [RETO] Proyect Euler 2
« Respuesta #19 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.

En línea

Páginas: 1 [2] 3 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Projecto Euler problema 12
Ejercicios
lDanny 5 5,163 Último mensaje 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 19,828 Último mensaje 26 Enero 2013, 11:20 am
por imoen
[RETO] Project Euler 3 « 1 2 »
Programación Visual Basic
Psyke1 13 6,390 Último mensaje 3 Febrero 2013, 20:45 pm
por imoen
[RETO] Project Euler 4 « 1 2 »
Programación Visual Basic
Psyke1 10 5,635 Último mensaje 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 1,976 Último mensaje 24 Agosto 2017, 04:09 am
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines