cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A228847 Let A(x,y,z) denote the integer area A of the triangle with integer side lengths (x,y,z). a(n) is the smallest area such that there exist at least n distinct triangles (x_i, y_i, z_i) satisfying A(x_1, y_1, z_1) = A(x_2, y_2, z_2) = ... = A(x_n, y_n, z_n).

Original entry on oeis.org

6, 12, 60, 60, 210, 210, 336, 336, 420, 420, 420, 420, 420, 420, 420, 840, 840, 1680, 1680, 1680, 1680, 1680, 1680, 7560, 7560, 7560, 7560, 7560, 7560, 7560, 7560, 7560, 7560, 7560, 7560, 7560, 7560, 7560, 7560, 7560, 7560, 7560, 7560, 7560, 7560, 7560, 7560
Offset: 1

Views

Author

Michel Lagneau, Sep 05 2013

Keywords

Comments

The area A of a triangle whose sides have lengths x, y, and z is given by A188158. The area is given by Heron's formula: A = sqrt(s*(s-a)*(s-b)*(s-c)), where s = (a+b+c)/2.
The sequence A228858 gives the areas such that there exist exactly n triangles (x_i, y_i, z_i) satisfying A(x_1, y_1, z_1) = A(x_2, y_2, z_2) = ... = A(x_n, y_n, z_n).
The Maple program examines all triangles having longest side <= 600.

Examples

			a(6) = 210 because there exist 6 triangles:
(3,148,149) => A = sqrt(150*(150-3)*(150-148)*(150-149)) = 210;
(7,65,68) => A = sqrt(70*(70-7)*(70-65)*(70-68)) = 210;
(12,35,37) => A = sqrt(42*(42-12)*(42-35)*(42-37)) = 210;
(17,25,28) => A = sqrt(35*(35-17)*(35-25)*(35-28)) = 210;
(17,28,39) => A = sqrt(42*(42-17)*(42-28)*(42-39)) = 210;
(20,21,29) => A = sqrt(35*(35-20)*(35-21)*(35-29)) = 210.
		

Crossrefs

Programs

  • Maple
    with(numtheory):nn:=600:lst:={}:T:=array(1..30000):k:=0:for a from 1 to nn do: for b from a to nn  do: for c from b to nn do:p:=(a+b+c)/2 : x:=p*(p-a)*(p-b)*(p-c): if x>0 then x1:=abs(x):s:=sqrt(x1) :else fi:if s=floor(s) then lst:=lst union {s}:k:=k+1:T[k]:=s:else fi:od:od:od:k1:=nops(lst):for n from 1 to 30 do:jj:=0:for i from 1 to k1 while(jj=0) do:ii:=0:for j from 1 to k while(jj=0) do:if lst[i]=T[j] then ii:=ii+1:if ii=n then jj:=1:printf ( "%d %d \n",n,lst[i]):else fi:fi:od:od:od: