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.

A220689 Triangular numbers generated in A224218. That is, the triangular numbers generated by the operation triangular(i) XOR triangular(i+1) along increasing i.

This page as a plain text file.
%I A220689 #33 Aug 07 2023 07:48:21
%S A220689 1,21,21,105,105,105,105,946,946,666,1653,666,1378,946,1225,946,4005,
%T A220689 1378,4005,1378,7381,1225,1378,1653,2485,4005,31125,4005,4005,4005,
%U A220689 2485,13861,13861,5356,4005,7381,5356,5356,7381,4005,5356,29161,12561,12561,4186,4186,4186,4186
%N A220689 Triangular numbers generated in A224218. That is, the triangular numbers generated by the operation triangular(i) XOR triangular(i+1) along increasing i.
%F A220689 a(n) = A000217(A224218(n)) XOR A000217(A224218(n)+1).
%p A220689 read("transforms") ;
%p A220689 A220689 := proc(n)
%p A220689     i := A224218(n) ;
%p A220689     XORnos(A000217(i),A000217(i+1)) ;
%p A220689 end proc: # _R. J. Mathar_, Apr 23 2013
%t A220689 nmax = 100;
%t A220689 pmax = 2 nmax^2; (* increase coeff 2 if A224218 is too short *)
%t A220689 A224218 = Join[{0}, Flatten[Position[Partition[Accumulate[Range[pmax]], 2, 1], _?(OddQ[Sqrt[1 + 8 BitXor[#[[1]], #[[2]]]]]&), {1}, Heads -> False]]];
%t A220689 a[n_] := Module[{i}, i = A224218[[n]]; BitXor[PolygonalNumber[i], PolygonalNumber[i+1]]];
%t A220689 Table[a[n], {n, 1, nmax}] (* _Jean-François Alcover_, Aug 07 2023, after _Harvey P. Dale_ in A224218 *)
%o A220689 (Python)
%o A220689 def rootTriangular(a):
%o A220689     sr = 1<<33
%o A220689     while a < sr*(sr+1)//2:
%o A220689       sr>>=1
%o A220689     b = sr>>1
%o A220689     while b:
%o A220689         s = sr+b
%o A220689         if a >= s*(s+1)//2:
%o A220689           sr = s
%o A220689         b>>=1
%o A220689     return sr
%o A220689 for i in range(1<<12):
%o A220689         s = (i*(i+1)//2) ^ ((i+1)*(i+2)//2)
%o A220689         t = rootTriangular(s)
%o A220689         if s == t*(t+1)//2:
%o A220689             print(str(s), end=',')
%Y A220689 Cf. A000217, A224218, A224511.
%K A220689 nonn
%O A220689 1,2
%A A220689 _Alex Ratushnyak_, Apr 13 2013