A081974 a(1) = 1 and smallest number not occurring earlier such that the product of two neighboring terms is a distinct triangular number, where "distinct" means that a(n)*a(n+1) may not equal the product of any two previous consecutive terms.
1, 3, 2, 5, 9, 4, 7, 13, 6, 11, 21, 10, 12, 23, 45, 14, 27, 53, 26, 30, 33, 16, 31, 15, 20, 41, 81, 40, 52, 103, 51, 25, 49, 24, 47, 93, 46, 91, 60, 76, 151, 75, 37, 18, 112, 115, 57, 28, 55, 39, 19, 87, 43, 22, 133, 66, 58, 117, 35, 17, 8, 395, 126, 141, 70, 102, 90, 116, 231
Offset: 1
Keywords
Examples
5 and 4 are the neighbors of 9 giving the triangular numbers 45 and 36 respectively.
Links
- Robert Israel, Table of n, a(n) for n = 1..10000
Programs
-
Maple
Acands:= [$2..10^4]: ncands:= 10^4-1: Tused:= {}: a[1]:= 1: for i from 2 to 100 do found:= false; for j from 1 to ncands do if istri(a[i-1]*Acands[j]) and not member(a[i-1]*Acands[j],Tused) then found:= true; a[i]:= Acands[j]; Acands:= subsop(j=NULL, Acands); ncands:= ncands - 1; Tused:= Tused union {a[i-1]*a[i]}; break fi od; if not found then break fi od: seq(a[k],k=1..100); # Robert Israel, Jul 23 2025
-
Mathematica
istriang[n_] := With[{x = Floor[Sqrt[2*n]]}, n == x*(x + 1)/2]; nmax = 75; Clear[a, used, tris]; a[] = 0; used[] = 0; tris[_] = 0; a[1] = 1; used[1] = 1; For[i = 2, i <= nmax, i++, f = a[i-1]; j = 2; While[used[j] == 1 || !istriang[f*j] || tris[f*j] == 1, j++]; a[i] = j; used[j] = 1; tris[f*j] = 1]; Table[a[n], {n, 1, nmax}] (* Jean-François Alcover, May 23 2024, after PARI code *)
-
PARI
istriang(n) = local(x); x = floor(sqrt(2*n)); n == x*(x + 1)/2; A = vector(75); used = vector(1000); tris = vector(50000); A[1] = 1; used[1] = 1; for (i = 2, 75, f = A[i - 1]; j = 2; while (used[j] || !istriang(f*j) || tris[f*j], j = j + 1); A[i] = j; used[j] = 1; tris[f*j] = 1); print(A)
Extensions
More terms from David Wasserman, Jul 26 2004
Comments