Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Psyke1

#21
Cita de: Karcrack en 25 Enero 2013, 15:07 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 (vb) [Seleccionar]

Option Explicit

'by psyke1
'creditos a karcrack
'25/01/13

Private Static Function Psk_v2(Optional ByVal lLimit As Long = &H3D0900) As Long
Dim q As Long
Dim r As Long
Dim tg As Long
Dim w As Long
Dim Q2 As Long
Dim matriz() As Long
   
   tg = &HDF98
   r = &HA
   For q = 0 To &HF
       r = r + &HA
   Next q
   
   tg = tg Xor r
   r = tg Xor r
   tg = tg Xor r
   
   lLimit = lLimit + &H345
   
   Do While w: w = w - Val(w): Loop
   
   If Not r And &H1 Then
       Psk_v2 = ChrW(&H34) & ChrW(54)
       
       If w = 0 Then
           lLimit = lLimit - &H345
           lLimit = lLimit \ 5
           Psk_v2 = Psk_v2 & CStr(&H35A4)
           
           If ((lLimit * &H5) <> &H3D0900) And Not (&H1 + &H3 = &H5) Then
               Psk_v2 = Psk_v2 - &H29 + &H93
               Do: Beep: DoEvents: DoEvents: Loop
           End If
       Else
           Psk_v2 = (((w And &HFF000000) \ &H1000000) And &HFF&) Or _
               ((w And &HFF0000) \ &H100&) Or _
               ((w And &HFF00&) * &H100&) Or _
               (Val(w And &H7F&) * &H1000000) Xor tg
       End If
   Else
       Q2 = Q2 ^ 5 * Val(Str(9873)) And tg
   End If
End Function


Si hago esto:
Código (vb) [Seleccionar]
Private Sub Form_Load()
   Debug.Print Psk_v2
End Sub


Devuelve esto:
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
#22
Disculpad, cometí una errata a la hora de describir el reto.
Post uno actualizado. :-*

PD: ¿Voy poniendo ya el reto 3? :xD

DoEvents! :P
#23
@79137913
¡Tu función devuelve un array! :laugh:

Además, no devuelve el resultado deseado:
Código (vb) [Seleccionar]
Private Sub Form_Load()
   Debug.Print Fibbo7913
End Sub


Código (vb) [Seleccionar]

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
#24
Cierto, pero en estos retos se trata de exprimir al máximo la velocidad. Es indiferente que no sea bonito (en este caso en concreto).
Vale todo. ;)

DoEvents! :P
#25
Cita de: Darioxhcx en 23 Enero 2013, 13:18 PM
http://www.font-db.com/font/BonnBoldCaps/24281

esa tambien es muy parecida :B

¡Genial! Ésta me podría servir.
¡Gracias! ;D

DoEvents! :P
#26
Pues resulta que quiero hacer algo similar a esto:






¿Cómo podría sacar capturas de pantallas de una web desde diferentes dispositivos? :huh:
Quiero sustituir esas imágenes por unas de mi página. :)

Agradezco cualquier ayuda. ;)
Gracias.

DoEvents! :P
#27
Aquí dejo la mía:
Código (vb) [Seleccionar]

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
#28
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 (vb) [Seleccionar]
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í:
Código (vb) [Seleccionar]
Dim a As Long, b As Long, c As Long

DoEvents! :P
#29
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:
4613732

Estructura a seguir:
Código (vb) [Seleccionar]
Private Function NOMBREFUNCION(Optional lLimit As Long = 4000000) As Long

DoEvents! :P
#30
Cita de: MCKSys Argentina en 24 Enero 2013, 16:18 PM
En fin, creo que este reto ya ha sido superado y convendria pasar al siguiente, aunque, bueno, no se si estan todos de acuerdo...  :)

¡Eso creo yo también!
Es genial que se participe tanto, porque la verdad es que vuestras formas de hacerlo no se me hubieran ocurrido. :D
Voy a crear el segundo reto.

DoEvents! :P