Définition
Un "triangle entier" est un triangle avec des coordonnées entières. Par exemple, le triangle suivant est un triangle entier:
(0, 0), (0, 1), (1, 2) with perimeter 1 + sqrt(2) + sqrt(5) ≈ 4.650.
Tâche
Le but de ce défi est de compter tous les triangles entiers (jusqu'à la congruence) avec un périmètre inférieur à n.
Entrée et sortie
L'argument sera donné sous forme d'entier et la sortie devrait être le nombre de triangles dont le périmètre est strictement inférieur à l'argument.
Exemples
Le plus petit triangle entier par périmètre est congru à
(0, 0), (0, 1), (1, 0) which has perimeter 2 + sqrt(2) ≈ 3.414
Les prochains plus petits sont:
(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
Cas de test:
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
J'ai des coordonnées pour chacun des triangles de ce Gist .
Avertissements
Notez que deux triangles non congruents peuvent avoir le même périmètre:
(0, 0), (0, 3), (3, 0) and (0, 0), (0, 1), (3, 4) both have perimeter 6 + 3sqrt(2).
Gardez également à l’esprit que l’inégalité est stricte ; le triangle pythagoricien 3-4-5 doit être compté par un (13), pas un (12).
Notation
Voici le code-golf : le code le plus court gagne!