Definition
Ein "ganzzahliges Dreieck" ist eines mit ganzzahligen Koordinaten. Das folgende Dreieck ist beispielsweise ein ganzzahliges Dreieck:
(0, 0), (0, 1), (1, 2) with perimeter 1 + sqrt(2) + sqrt(5) ≈ 4.650.
Aufgabe
Ziel dieser Herausforderung ist es, alle ganzzahligen Dreiecke (bis zur Kongruenz) mit einem Umfang von weniger als n zu zählen.
Ein- und Ausgang
Das Argument wird als Ganzzahl angegeben, und die Ausgabe sollte die Anzahl der Dreiecke sein, deren Umfang strikt kleiner ist als das Argument.
Beispiele
Das kleinste ganzzahlige Dreieck pro Umfang ist kongruent zu
(0, 0), (0, 1), (1, 0) which has perimeter 2 + sqrt(2) ≈ 3.414
Die nächstkleineren sind:
(0, 0), (0, 1), (1, 2) with perimeter 1 + sqrt(2) + sqrt(5) ≈ 4.650,
(0, 0), (0, 2), (1, 1) with perimeter 2 + 2sqrt(2) ≈ 4.828,
(0, 0), (0, 2), (1, 0) with perimeter 3 + sqrt(5) ≈ 5.236, and
(0, 0), (1, 2), (2, 1) with perimeter sqrt(2) + 2sqrt(5) ≈ 5.886
Testfälle:
a(1) = 0
a(2) = 0
a(3) = 0
a(4) = 1
a(5) = 3
a(6) = 5
a(7) = 11
a(8) = 18
a(9) = 29
a(10) = 44
a(12) = 94
a(20) = 738
a(30) = 3756
a(40) = 11875
Ich habe Koordinaten für jedes der Dreiecke in diesem Gist .
Warnungen
Beachten Sie, dass zwei nicht kongruente Dreiecke denselben Umfang haben können:
(0, 0), (0, 3), (3, 0) and (0, 0), (0, 1), (3, 4) both have perimeter 6 + 3sqrt(2).
Denken Sie auch daran, dass die Ungleichung streng ist ; Das 3-4-5-Pythagoras-Dreieck sollte mit einem (13) und nicht mit einem (12) gezählt werden.
Wertung
Das ist Code-Golf - der kürzeste Code gewinnt!