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.

A225592 a(n) = size of the network of triangular(n). Distinct triangular numbers T and R are directly connected if R = T*k, and k>0 is a triangular number less than T. Numbers belong to the same network if there is a chain of direct connections between them.

This page as a plain text file.
%I A225592 #14 Nov 14 2024 10:23:43
%S A225592 1,1,1,1,2,7,1,1,2,8,2,3,7,7,1,1,1,5,4,7,2,3,4,1,1,1,1,2,2,1,1,1,3,8,
%T A225592 7,2,4,6,3,2,1,1,1,2,1,1,1,1,1,2,3,1,1,1,8,1,1,1,2,1,4,1,2,2,1,1,1,3,
%U A225592 2,3,1,1,1,1,4,3,2,5,2,1,1,1,1,8,1,1,1,1,1,7,2
%N A225592 a(n) = size of the network of triangular(n). Distinct triangular numbers T and R are directly connected if R = T*k, and k>0 is a triangular number less than T. Numbers belong to the same network if there is a chain of direct connections between them.
%e A225592 Triangular(6) = 21 belongs to the network with the following members: 21, 105, 210, 630, 19110, 25200, 145530. So a(6) = 7.
%e A225592 Triangular(133) = 8911 belongs to the network with the following members: 8911, 810901, 28158760, 3104129028, 328779810450, 543633020560, 18474540054600, 45742477468287600, 1553903798634573750. So a(133) = 9.
%o A225592 (Python)
%o A225592 def isTriangular(a):
%o A225592     sr = 1 << (a.bit_length() >> 1)
%o A225592     a += a
%o A225592     while a < sr*(sr+1):  sr>>=1
%o A225592     b = sr>>1
%o A225592     while b:
%o A225592       s = sr+b
%o A225592       if a >= s*(s+1):  sr = s
%o A225592       b>>=1
%o A225592     return (a==sr*(sr+1))
%o A225592 network = [0]*1000
%o A225592 readPos = writePos = 0
%o A225592 def addConnection(R):
%o A225592   global writePos
%o A225592   if isTriangular(R):
%o A225592     for j in range(readPos):
%o A225592       if network[j]==R:  return
%o A225592     network[writePos] = R
%o A225592     writePos += 1
%o A225592 for i in range(1, 1000000):
%o A225592     readPos, writePos = 0, 1
%o A225592     network[0] = i*(i+1)//2
%o A225592     while readPos < writePos:
%o A225592       T = network[readPos]
%o A225592       readPos += 1
%o A225592       n = k = 3
%o A225592       while k < T:
%o A225592         addConnection(T*k)
%o A225592         if T % k == 0 and T//k > k:  addConnection(T//k)
%o A225592         k += n
%o A225592         n += 1
%o A225592     print(readPos, end=', ')
%Y A225592 Cf. A000217, A188630.
%K A225592 nonn
%O A225592 1,5
%A A225592 _Alex Ratushnyak_, May 11 2013