OFFSET
1,3
COMMENTS
For k >= 2, n in the range [2^(k-1)..2^k - 2] have binary length k but fewer than k 1's, thus a(n) is a proper divisor of k, and if k is a prime then a(n) = 1. - Ctibor O. Zizka, Jun 19 2021
LINKS
MATHEMATICA
a[n_] := GCD[BitLength[n], DigitCount[n, 2, 1]]; Array[a, 100] (* Amiram Eldar, Jul 16 2023 *)
PROG
(Haskell)
a099244 n = gcd (a070939 n) (a000120 n)
-- Reinhard Zumkeller, Oct 10 2013
(Python)
from math import gcd
def a(n): b = bin(n)[2:]; return gcd(len(b), b.count('1'))
print([a(n) for n in range(1, 106)]) # Michael S. Branicky, Jun 17 2021
CROSSREFS
KEYWORD
base,easy,nonn
AUTHOR
Reinhard Zumkeller, Oct 08 2004
STATUS
approved