|
|
A355633
|
|
a(n) is the sum of the divisors of n whose binary expansions appear as substrings in the binary expansion of n.
|
|
3
|
|
|
1, 3, 4, 7, 6, 12, 8, 15, 10, 18, 12, 28, 14, 24, 19, 31, 18, 30, 20, 42, 22, 36, 24, 60, 26, 42, 31, 56, 30, 57, 32, 63, 34, 54, 36, 70, 38, 60, 43, 90, 42, 66, 44, 84, 54, 72, 48, 124, 50, 78, 55, 98, 54, 93, 72, 120, 61, 90, 60, 133, 62, 96, 74, 127, 66
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,2
|
|
LINKS
|
|
|
FORMULA
|
a(2^n) = 2^(n+1) - 1 for any n >= 0.
|
|
EXAMPLE
|
For n = 84:
- the binary expansion of 84 is "1010100",
- we have the following divisors:
d bin(d) in bin(84)?
-- ------- -----------
1 1 Yes
2 10 Yes
3 11 No
4 100 Yes
6 110 No
7 111 No
12 1100 No
14 1110 No
21 10101 Yes
28 11100 No
42 101010 Yes
84 1010100 Yes
- so a(84) = 1 + 2 + 4 + 21 + 42 + 84 = 154.
|
|
MATHEMATICA
|
a[n_] := DivisorSum[n, # &, StringContainsQ @@ IntegerString[{n, #}, 2] &]; Array[a, 100] (* Amiram Eldar, Jul 16 2022 *)
|
|
PROG
|
(PARI) a(n, base=2) = { my (d=digits(n, base), s=setbinop((i, j) -> fromdigits(d[i..j], base), [1..#d]), v=0); for (k=1, #s, if (s[k] && n%s[k]==0, v+=s[k])); return (v) }
(Python)
from sympy import divisors
def a(n):
s = bin(n)[2:]
return sum(d for d in divisors(n, generator=True) if bin(d)[2:] in s)
|
|
CROSSREFS
|
|
|
KEYWORD
|
nonn,base
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|