A190021 Number of acute triangles, distinct up to congruence, on an n X n grid (or geoboard).
0, 0, 2, 8, 23, 51, 101, 179, 295, 460, 688, 988, 1382, 1876, 2495, 3258, 4191, 5298, 6613, 8166, 9973, 12065, 14472, 17208, 20341, 23873, 27838, 32282, 37238, 42734, 48840, 55573, 62973, 71067, 79934, 89640, 100172, 111613, 123959, 137336, 151842
Offset: 1
Keywords
Examples
For n = 3 the two acute triangles are: *.. .*. ..* *.. *.. ..*
Links
- Eric Weisstein's World of Mathematics, Geoboard.
- Eric Weisstein's World of Mathematics, Acute Triangle.
Programs
-
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: IsAcuteTriangle:=proc(T) if T[1]^2+T[2]^2>T[3]^2 and T[1]^2+T[3]^2>T[2]^2 and T[2]^2+T[3]^2>T[1]^2 then true else false fi: end: a:=proc(n) local TriangleSet,AcuteTriangleSet,i; TriangleSet:=Triangles(n): AcuteTriangleSet:={}: for i from 1 to nops(TriangleSet) do if IsAcuteTriangle(TriangleSet[i]) then AcuteTriangleSet:={op(AcuteTriangleSet),TriangleSet[i]} fi: od: return(nops(AcuteTriangleSet)); end:
Extensions
a(21)-a(40) from Martin Renner, May 08 2011