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.

A355716 a(n) is the smallest number that has exactly n binary palindrome divisors (A006995).

This page as a plain text file.
%I A355716 #31 Jul 23 2022 19:23:59
%S A355716 1,3,9,15,99,45,135,189,315,495,945,765,2079,6237,3465,5355,4095,8415,
%T A355716 31185,20475,25245,12285,85995,58905,61425,45045,69615,176715,446985,
%U A355716 225225,328185,208845,135135,405405,528255,1396395,675675,2027025,765765,5360355,2993445,3968055,3828825
%N A355716 a(n) is the smallest number that has exactly n binary palindrome divisors (A006995).
%H A355716 Michael S. Branicky, <a href="/A355716/b355716.txt">Table of n, a(n) for n = 1..67</a>
%e A355716 a(4) = 15 since 15 has 4 divisors {1, 3, 5, 15} that are all palindromes when written in binary: 1, 11, 101 and 1111; no positive integer smaller than 15 has four divisors that are binary palindromes, hence a(4) = 15.
%e A355716 a(5) = 99 since 99 has 6 divisors {1, 3, 9, 11, 33, 99} of which only 11 is not a palindrome when written in binary: 11_10 = 1011_2; no positive integer smaller than 99 has five divisors that are binary palindromes, hence a(5) = 99.
%t A355716 f[n_] := DivisorSum[n, 1 &, PalindromeQ[IntegerDigits[#, 2]] &]; seq[len_, nmax_] := Module[{s = Table[0, {len}], c = 0, n = 1, i}, While[c < len && n < nmax, i = f[n]; If[i <= len && s[[i]] == 0, c++; s[[i]] = n]; n++]; s]; seq[25, 10^5] (* _Amiram Eldar_, Jul 15 2022 *)
%o A355716 (PARI) is(n) = my(d=binary(n)); d==Vecrev(d); \\ A006995
%o A355716 a(n) = my(k=1); while (sumdiv(k, d, is(d)) != n, k++); k; \\ _Michel Marcus_, Jul 15 2022
%o A355716 (Python)
%o A355716 from sympy import divisors
%o A355716 from itertools import count, islice
%o A355716 def c(n): b = bin(n)[2:]; return b == b[::-1]
%o A355716 def f(n): return sum(1 for d in divisors(n, generator=True) if c(d))
%o A355716 def agen():
%o A355716     n, adict = 1, dict()
%o A355716     for k in count(1):
%o A355716         fk = f(k)
%o A355716         if fk not in adict: adict[fk] = k
%o A355716         while n in adict: yield adict[n]; n += 1
%o A355716 print(list(islice(agen(), 20))) # _Michael S. Branicky_, Jul 23 2022
%Y A355716 Cf. A006995, A175242, A329419, A329420.
%K A355716 nonn,base
%O A355716 1,2
%A A355716 _Bernard Schott_, Jul 15 2022
%E A355716 More terms from _Michael S. Branicky_, Jul 15 2022