Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
A189978
Number of isosceles triangles, distinct up to congruence, on an n X n grid (or geoboard).
7
0, 1, 5, 11, 22, 35, 53, 70, 100, 126, 159, 188, 237, 276, 328, 372, 439, 491, 564, 623, 706, 775, 859, 931, 1049, 1129, 1231, 1323, 1448, 1540, 1674, 1772, 1928, 2041, 2183, 2301, 2483, 2602, 2758, 2898, 3095
OFFSET
1,3
EXAMPLE
For n=3 the five isosceles triangles are:
**. *.* .*. ..* *..
*.. ... *.. *.. ..*
... *.. .*. ..* .*.
MAPLE
Triangles:=proc(n) local TriangleSet, i, j, k, l, A, B, C; TriangleSet:={}: for i from 0 to n do for j from 0 to n do for k from 0 to n do for l from 0 to n do A:=i^2+j^2: B:=k^2+l^2: C:=(i-k)^2+(j-l)^2: if A^2+B^2+C^2<>2*(A*B+B*C+C*A) then TriangleSet:={op(TriangleSet), sort([sqrt(A), sqrt(B), sqrt(C)])}: fi: od: od: od: od: return(TriangleSet); end:
IsIsoscelesTriangle:=proc(T) if T[1]=T[2] or T[1]=T[3] or T[2]=T[3] then true else false fi: end:
a:=proc(n) local TriangleSet, IsoscelesTriangleSet, i;
TriangleSet:=Triangles(n): IsoscelesTriangleSet:={}: for i from 1 to nops(TriangleSet) do if IsIsoscelesTriangle(TriangleSet[i]) then IsoscelesTriangleSet:={op(IsoscelesTriangleSet), TriangleSet[i]} fi: od: return(nops(IsoscelesTriangleSet)); end:
CROSSREFS
Sequence in context: A069097 A222548 A024921 * A192761 A152533 A228485
KEYWORD
nonn,more
AUTHOR
Martin Renner, May 03 2011
EXTENSIONS
a(21)-a(40) from Martin Renner, May 08 2011
STATUS
approved