Un Casi equilátero Heronian triángulo es un triángulo con longitudes enteros de la forma n-1
, n
y n+1
y también tiene el área de número entero. Los primeros son:
3, 4, 5 -> 6
13, 14, 15 -> 84
51, 52, 53 -> 1170
Misión : Generar el programa más corto que genere el n
triple. (Sugerencia: esta es una secuencia conocida).
El ganador será seleccionado el 2 de mayo de 2014.
Respuestas:
APL,
1514 caracteresEl mismo enfoque que la solución de alephalpha pero usa piso en lugar del término de corrección.
Gracias a Algoritmshark por señalar que el operador de viaje ahorra un carácter.
fuente
(⍳3)
guarda un char0 1 2
, y estoy bastante seguro de que puedes usar Commute para hacerlo⎕*⍨2+√3
y guardar otro.⍳3
cede1 2 3
y por lo tanto es un char más largo.Mathematica,
26, 22, 1618 caracteresfuente
GolfScript (
2421 caracteres)Toma entrada en stdin, da salida a stdout en el formulario
Demostración en línea
Tenga en cuenta que he asumido que el elemento 0 de la secuencia es
[1 2 3]
(con área 0), lo que creo que es coherente con OEIS A003500 .Gracias a Howard por un ahorro de 3 caracteres.
fuente
(.).)]
es dos caracteres más cortos. Por otra parte, si se comienza con2 4
que puede reemplazar\;
con;
y guardar una adicional.2 4
y traté[3 4 5]
como el elemento 0, así que me da vergüenza no haber descubierto esa forma alternativa de explotar el desplazamiento. Gracias.GNU dc ,
3019 bytesUtiliza el mismo truco que la respuesta APL de @ Howard, por lo que solo se debe calcular un término. Toma entrada para n desde stdin.
Salida:
fuente
Python 77
Una implementación bastante detallada en Python
fuente
N
con un valor? Su programa no solicita ninguna entrada.Python 3, 83 caracteres
Esto utiliza una solución recursiva, aprovechando el hecho de que (cita de Wikipedia ):
fuente
JavaScript (ECMAScript 6) - 52 caracteres
Define una función recursiva
f
que devuelve el enésimo término y una funcióng
que devuelve una matriz que contiene el triple correspondiente.JavaScript: 41 caracteres
Espera que el término a calcular se almacene en la variable global
x
y envía el triple a la consola.fuente
CJam, 13 bytes
La primera versión de CJam es 10 días más antigua que este desafío, pero no sé si todas las características que estoy usando han estado presentes en ese momento. Sin embargo, el desafío está oficialmente cerrado, así que ...
Pruébalo aquí.
Explicación
fuente