Um Quase Equilátero Heronian triângulo é um triângulo com comprimentos inteiros da forma n-1
, n
e, n+1
e também tem uma área inteiro. Os primeiros são:
3, 4, 5 -> 6
13, 14, 15 -> 84
51, 52, 53 -> 1170
Missão : Gere o programa mais curto que produza o n
triplo. (Dica: esta é uma sequência conhecida).
O vencedor será selecionado em 2 de maio de 2014.
Respostas:
APL,
1514 caracteresA mesma abordagem da solução de alefalpha , mas usa floor em vez do termo de correção.
Obrigado ao algoritmshark por apontar que o operador de comutação salva um caractere.
fonte
(⍳3)
salva um caractere0 1 2
e tenho certeza de que você pode usar o Commute para fazer isso⎕*⍨2+√3
e salvar outro.⍳3
produz1 2 3
e, portanto, é um caractere mais longo.Mathematica,
26, 22, 1618 caracteresfonte
GolfScript (
2421 caracteres)Recebe entrada em stdin, fornece saída para stdout no formato
Demonstração online
Observe que eu assumi que o 0º elemento da sequência é
[1 2 3]
(com a área 0), o que eu acho que é consistente com o OEIS A003500 .Com agradecimentos a Howard por uma economia de 3 caracteres.
fonte
(.).)]
é dois caracteres mais curto. Além disso, se você começar,2 4
poderá substituir\;
com;
e salvar um adicional.2 4
e tratado[3 4 5]
como o elemento 0, por isso estou envergonhado por não ter descoberto essa maneira alternativa de explorar o deslocamento. Obrigado.GNU dc ,
3019 bytesEle usa o mesmo truque que a resposta da APL do @ Howard, portanto, apenas um termo deve ser calculado. Recebe entrada para n do stdin.
Resultado:
fonte
Python 77
Uma implementação bastante detalhada em Python
fonte
N
por um valor? Seu programa não pede nenhuma entrada.Python 3, 83 caracteres
Isso usa uma solução recursiva, aproveitando o fato de que (citação da Wikipedia ):
fonte
JavaScript (ECMAScript 6) - 52 caracteres
Define uma função recursiva
f
que retorna o enésimo termo e uma funçãog
que retorna uma matriz contendo o triplo correspondente.JavaScript - 41 caracteres
Espera que o termo a ser calculado seja armazenado na variável global
x
e produz o triplo para o console.fonte
CJam, 13 bytes
A primeira versão do CJam é 10 dias mais antiga que esse desafio, mas não sei se todos os recursos que estou usando estavam presentes naquela época. O desafio está oficialmente fechado de qualquer maneira, então ...
Teste aqui.
Explicação
fonte