Ein Fast Equilateral Heronisches Dreieck ist ein Dreieck mit ganzzahligen Längen der Form n-1
, n
und n+1
und hat auch ganzzahlige Bereich. Die ersten sind:
3, 4, 5 -> 6
13, 14, 15 -> 84
51, 52, 53 -> 1170
Quest : Generiere das kürzeste Programm, das das n
th Dreifache ausgibt . (Hinweis: Dies ist eine bekannte Sequenz).
Der Gewinner wird am 2. Mai 2014 ausgewählt.
Antworten:
APL,
1514 ZeichnerGleicher Ansatz wie die Lösung von alephalpha , jedoch wird anstelle des Korrekturterms der Floor verwendet.
Vielen Dank an algorithmshark für den Hinweis, dass der Pendler ein Zeichen spart.
quelle
(⍳3)
spart ein Zeichen über0 1 2
, und ich bin mir ziemlich sicher, dass Sie Commute verwenden können, um es zu erstellen⎕*⍨2+√3
und ein anderes zu speichern.⍳3
Ergibt leider1 2 3
und ist damit ein Zeichen länger.Mathematica,
26, 22, 16,18 Zeichenquelle
GolfScript (
2421 Zeichen)Übernimmt die Eingabe für stdin und gibt die Ausgabe für stdout im Formular aus
Online-Demo
Beachten Sie, dass ich angenommen habe, dass das 0. Element der Sequenz
[1 2 3]
(mit Bereich 0) ist, was meiner Meinung nach mit OEIS A003500 übereinstimmt .Vielen Dank an Howard für die 3-Zeichen-Ersparnis.
quelle
(.).)]
ist zwei Zeichen kürzer. Außerdem, wenn Sie mit beginnen2 4
können Sie ersetzen\;
mit;
und sparen weitere ein.2 4
und behandelt[3 4 5]
wie das 0 - ten Element, so dass ich nicht entdeckt verlegen bin zu haben , dass alternative Art und Weise des Versatz zu nutzen. Vielen Dank.GNU DC ,
3019 BytesDies verwendet den gleichen Trick wie die APL-Antwort von @ Howard, sodass nur ein Term berechnet werden muss. Übernimmt die Eingabe für n aus stdin.
Ausgabe:
quelle
Python 77
Eine ziemlich ausführliche Implementierung in Python
quelle
N
einen Wert ersetzen ? Ihr Programm fordert Sie nicht zur Eingabe auf.Python 3, 83 Zeichen
Hierbei wird eine rekursive Lösung verwendet, die die Tatsache ausnutzt, dass (Zitat aus Wikipedia ):
quelle
JavaScript (ECMAScript 6) - 52 Zeichen
Definiert eine rekursive Funktion,
f
die den n- ten Term und eine Funktion,g
die ein Array mit dem entsprechenden Tripel zurückgibt.JavaScript - 41 Zeichen
Erwartet, dass der zu berechnende Term in der globalen Variablen gespeichert wird,
x
und gibt das Tripel an die Konsole aus.quelle
CJam, 13 Bytes
Die erste Version von CJam ist 10 Tage älter als diese Herausforderung, aber ich weiß nicht, ob alle Funktionen, die ich verwende, bereits vorhanden waren. Die Challenge ist trotzdem offiziell beendet, also ...
Teste es hier.
Erläuterung
quelle