Definição
Um "triângulo inteiro" é aquele com coordenadas inteiras. Por exemplo, o triângulo a seguir é um triângulo inteiro:
(0, 0), (0, 1), (1, 2) with perimeter 1 + sqrt(2) + sqrt(5) ≈ 4.650.
Tarefa
O objetivo deste desafio é contar todos os triângulos inteiros (até congruência) com perímetro menor que n.
Entrada e saída
O argumento será fornecido como um número inteiro e a saída deve ser o número de triângulos com perímetro estritamente menor que o argumento.
Exemplos
O menor triângulo inteiro por perímetro é congruente para
(0, 0), (0, 1), (1, 0) which has perimeter 2 + sqrt(2) ≈ 3.414
Os próximos menores são:
(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
Casos de teste:
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
Eu tenho coordenadas para cada um dos triângulos nesta Gist .
Advertências
Observe que dois triângulos não congruentes podem ter o mesmo perímetro:
(0, 0), (0, 3), (3, 0) and (0, 0), (0, 1), (3, 4) both have perimeter 6 + 3sqrt(2).
Também tenha em mente que a desigualdade é estrita ; o triângulo pitagórico 3-4-5 deve ser contado por um (13), não um (12).
Pontuação
Isto é código-golfe - o código mais curto vence!