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 - Karcrack

#121
El término utilizado para referirse a ese comportamiento es melt. Buscando un poco sobre el término encontrarás en el subforo de VB6 varios ejemplos.

Saludos
#122
http://pyspanishdoc.sourceforge.net/
#123
Cita de: Segadorfelix en  9 Febrero 2013, 01:51 AM
Interesante; significa que después de interpretar el código por primera vez, la próxima vez ¿se inicia mas rápido?
Exactamente :-*
#124
Me parece que estáis confundiendo compilar el código con empaquetarlo.

Compilar el código es posible en múltiples lenguajes de scripting. Por ejemplo Python, permite almacenar el código ya interpretado a sus bytecodes. Eso aumentará la velocidad de carga del código. No hará que sea más rápido entero. Sólo la carga. No sé si me explico.

Haciendo esto te saltas el tiempo de interpretado. Espero haber aclarado ese aspecto.

Saludos
#125
Con WinExec() podrás ejecutar comandos como si lo hicieses desde la consola.
http://msdn.microsoft.com/es-es/library/windows/desktop/ms687393(v=vs.85).aspx
#126
@DarkMatrix,@Elemental Code no funcionará vuestro código al dar la vuelta al número. eCode al pasarlo a Str el EXX que se genera con números grandes explota. DarkMatrix tienes que hacer Fix() para que funcione correctamente el código.


Aquí mi aproximación:
Código (vb) [Seleccionar]
Public Static Function PE4_Karcrack(Optional ByVal lCifras As Long = 3) As Double
   Dim A   As Double
   Dim B   As Long
   Dim C   As Long
   Dim D   As Long
   Dim M   As Long
   Dim R   As Double
   
   B = (10 ^ lCifras) - 1
   M = (10 ^ (lCifras - 1))
   
   Do Until (M Mod 11) = 0
       M = M + 1
   Loop
   
   D = B
   
   Do Until (D Mod 11) = 0
       D = D - 1
   Loop
   
   For A = D To M Step -11
       For C = B To A * 0.8 Step -1
           R = (A * C)
           If R <= PE4_Karcrack Then Exit For
           If R = NReverse(R) Then
               PE4_Karcrack = R
           End If
       Next C
   Next A
End Function


Public Static Function NReverse(ByVal D As Double) As Double
   Dim dig As Long
   While D > 0
       dig = (D - Fix(D / 10#) * 10)
       NReverse = NReverse * 10 + dig
       D = Fix(D / 10)
   Wend
End Function


Ejemplo:
Código (vb) [Seleccionar]
Private Sub Form_Load()
   Dim i   As Long
   
   For i = 2 To 5
       Debug.Print i, PE4_Karcrack(i)
   Next i
End Sub


Salida:

 2             9009
3             906609
4             99000099
5             9966006699
6             999000000999


Al parecer el NReverse() se queda en bucle infinito con 7 cifras :laugh:
#127
Para los que se quejan de que para ganar hay que ir a la universidad:
Un número resultado de una multiplicación de 3 cifras tendrá como máximo 6 cifras. Teniendo en cuenta que debe ser palíndromo serían 3 cifras diferentes:
N = 100000x + 10000y + 1000z + 100z + 10y + x
Si simplificamos la igualdad:
N = 100001x + 10010y + 1100z
N = 11*(9091x + 910y + 100z)


Así pues uno de los factores debe ser múltiplo de 11 ;)
#128
Offtopic:
Me parece que le hacéis un flaco favor a estos usuarios que vienen pidiendo tareas sin ningún interés en aprender. Me he fijado que tú, @Danyfirex, le das mucha bola a este tipo de usuarios. :-\
#129
Cita de: 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.
La más rápida es sacar el resultado precalculado con un print :P
#130
Psyke ya ha encontrado la solución óptima, porque tal y como apunta @imoen cada 3er número de Fibonacci es par...