1- Raul338 aplicas mal el algoritmo, como ha dicho Cobein (n * (n+1)) <> (n * n + 1)
2- La velocidad ha de comprobarse compilada siempre.
3- Algunos de vosotros no incluis el 2 como numero Oblongo, y lo es: 2 = 1*(1+1)
4- Aqui pongo los resultados del test que he corrido en mi PC (Con la llamada que puse yo, que es con la que hay que probar ):
He actualizado mi funcion, tenia un gran fallo
2- La velocidad ha de comprobarse compilada siempre.
3- Algunos de vosotros no incluis el 2 como numero Oblongo, y lo es: 2 = 1*(1+1)
4- Aqui pongo los resultados del test que he corrido en mi PC (Con la llamada que puse yo, que es con la que hay que probar ):
Código [Seleccionar]
Karcrack -> 5,729 msec
Tokes -> 6,236 msec
LeandroA -> 24,102
B0X -> 76,071 msec
raul338 -> Funcion no valida
He actualizado mi funcion, tenia un gran fallo
Código [Seleccionar]
' Karcrack
Private Function IsOblongo01(ByVal lNumb As Long, ByRef n As Long) As Boolean
If (lNumb = 0) Then n = 0: IsOblongo01 = True: Exit Function
If (lNumb And 1) = 0 Then
For n = 1 To Sqr(lNumb + 1)
If lNumb = n * (n + 1) Then
IsOblongo01 = True
Exit For
End If
Next n
End If
End Function