A191598 a(1)=1. Then, if the first n terms contain all the numbers 1 to n, a(n+1)=2*a(n), otherwise a(n+1) is the smallest number not already in the sequence.
1, 2, 4, 3, 6, 5, 10, 7, 8, 9, 18, 11, 12, 13, 14, 15, 16, 17, 34, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 66, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 130
Offset: 1
Examples
There are no gaps with just one term, so we double to get a(2)=2. Still no gaps, so we double again to get a(3)=4. Now 3 has not appeared yet, so a(4)=3. The sequence is compact again, so we double to get a(5)=6.
Links
- Michael S. Branicky, Table of n, a(n) for n = 1..10000
Programs
-
Python
from itertools import count, islice def agen(): # generator of terms an, aset, m = 1, {1}, 2 for n in count(1): yield an an = 2*an if m > n else m aset.add(an) while m in aset: m += 1 print(list(islice(agen(), 67))) # Michael S. Branicky, Nov 13 2024