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.

A358857 Least integer k in A031443 such that k*n is also in A031443, or -1 if there is no such k.

Original entry on oeis.org

2, -1, 49, -1, 2, 2, 535, -1, 3843, 899, 49, 197, 12, 52, 9, -1, 9, 10, 2, 9, 2, 2, 35, 9, 2, 2, 147, 2, 2141, 2095, 32991, -1, 258055, 63495, 3849, 15367, 961, 906, 226, 3603, 56, 201, 49, 197, 49, 49, 50, 789, 56, 56, 42, 209, 50, 42, 44, 41, 10, 12, 10, 41
Offset: 1

Views

Author

Jeffrey Shallit, Dec 03 2022

Keywords

Comments

It's clear that a(2^i)=-1 if i>0, because 2^i*n always has more 0's than n does. I do not know if every number other than a power
of 2 has such a k. Local maxima seem to be near odd powers of 2. It is not hard to show that a(2^n +- 1)!=-1 for n>=1.

Examples

			For n = 3 both 49 = [110001] and 49*3 = [10010011] have the same number of 0's as 1's, and this is the least such.
		

Crossrefs

Programs

  • PARI
    See Links section.
  • Python
    from itertools import count
    from sympy.utilities.iterables import multiset_permutations
    def isbalanced(n): b = bin(n)[2:]; return b.count("0") == b.count("1")
    def A031443gen(): yield from (int("1"+"".join(p), 2) for n in count(1) for p in multiset_permutations("0"*n+"1"*(n-1)))
    def a(n):
        if n > 1 and bin(n)[2:].strip("0") == "1": return -1
        return next(k for k in A031443gen() if isbalanced(k*n))
    print([a(n) for n in range(1, 61)]) # Michael S. Branicky, Dec 03 2022
    

Formula

a(n) = A358858(n)/n unless a(n) = -1. - Pontus von Brömssen, Dec 03 2022