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.

A178757 Smallest k such that k*n has an odd number of 1's in its base-2 expansion.

Original entry on oeis.org

1, 1, 7, 1, 5, 7, 1, 1, 9, 5, 1, 7, 1, 1, 19, 1, 17, 9, 1, 5, 1, 1, 3, 7, 1, 1, 3, 1, 3, 19, 1, 1, 33, 17, 1, 9, 1, 1, 3, 5, 1, 1, 7, 1, 9, 3, 1, 7, 1, 1, 7, 1, 5, 3, 1, 1, 3, 3, 1, 19, 1, 1, 67, 1, 65, 33, 1, 17, 1, 1, 3, 9, 1, 1, 5, 1, 5, 3, 1, 5, 1, 1, 5, 1, 5, 7, 1, 1, 5, 9, 1, 3, 1, 1, 3, 7, 1, 1, 11, 1
Offset: 1

Views

Author

Jeffrey Shallit, Jun 10 2010

Keywords

Comments

a(n) is the least integer k such that t(k*n) = 1, where t(i) is the Thue-Morse sequence.
From Robert G. Wilson v, Sep 29 2010: (Start)
k must always be odd.
First occurrence of odd ks: 1, 23, 5, 3, 9, 99, 325, 315, 17, 15, 3021, 195, 189, 645, 2313, 2295, 33, 7695, 1785, 1799, 105, 387, 23529, 5643, ..., .
Records occur at n: 1, 3, 9, 15, 33, 63, 129, 255, 513, 1023, 2049, 4095, 8193, 16383, 32769, 65535, 131073, 262143, ..., . (End)
In their paper Morgenbesser et al. prove a(n) <= n+4. They also prove that, for all n>=1, it is possible to find a k such that A010060(k*n) = 1, with k <= n+4 and Hamming weight of k <= 3. That sequence differs from the current sequence at n=195, 315, 387, 390, 630, 645, 765, 771, 774, 780, ... - Michel Marcus, Jan 24 2016

Examples

			For n = 3 the sequence has value 7, since 21 is 10101 in base 2, with an odd number of 1's, and no smaller multiple works.
		

Crossrefs

Programs

  • Mathematica
    f[n_] := Block[{k = 1}, While[ EvenQ@ DigitCount[k*n, 2, 1], k++ ]; k]; Array[f, 105] (* Robert G. Wilson v, Sep 29 2010 *)
  • PARI
    a(n) = {my(k = 1); while (hammingweight(k*n) % 2 != 1, k++); k;} \\ Michel Marcus, Jan 23 2016
    
  • Python
    def a(n):
        k = 1
        while not bin(k*n).count("1")%2 == 1: k += 1
        return k
    print([a(n) for n in range(1, 81)]) # Michael S. Branicky, Feb 22 2022