Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
A174205
Write natural numbers in base 2 as a stream of digits. Moving left to right, delete odd occurrences of digit 0 and 1.
6
1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1
OFFSET
1,1
COMMENTS
The natural numbers in base 2 are 0, 1, 10, 11, 100, 101, 110, 111, 1000..... and define a stream of digits if concatenated:
0110111001011101111000 Delete odd-indexed occurrences of 0 (replaced by .):
.110111.01.11101111.0. Also delete odd-indexed occurrences of 1 (replaced by .):
..10.1..01..1.01.1..0.
The stream of bits that remain after these two rounds of deletion is chopped into single bits which define the entries of the current sequence.
PROG
(Sage)
def A174205(N=100):
a = [0] + flatten([n.digits(base=2)[::-1] for n in IntegerRange(1, N)])
for bit in 0, 1:
a = [d for i, d in enumerate(a) if not (d == bit and a[:i+1].count(bit) % 2 == 1)]
return a # D. S. McNeil, Dec 08 2010
CROSSREFS
KEYWORD
easy,nonn,base
AUTHOR
STATUS
approved