Here are the first few powers of 2:

2 = 1 * 2

4 = 2 * 2

8 = 4 * 2

16 = 8 * 2

32 = 16 * 2

64 = 32 * 2

128 = 64 * 2

256 = 128 * 2

512 = 256 * 2

1024 = 512 * 2

2048 = 1024 * 2

4096 = 2048 * 2

8192 = 4096 * 2

16384 = 8192 * 2

32768 = 16384 * 2

65536 = 32768 * 2

131072 = 65536 * 2

262144 = 131072 * 2

524288 = 262144 * 2

1048576 = 524288 * 2

2097152 = 1048576 * 2

4194304 = 2097152 * 2

8388608 = 4194304 * 2

16777216 = 8388608 * 2

33554432 = 16777216 * 2

67108864 = 33554432 * 2…

As you can see, it’s a one-way power-trip: the numbers simply get larger. But what happens if you delete the digit 0 whenever it appears in a result? For example, 512 * 2 = 1024, which becomes 124. If you apply this rule, the sequence looks like this:

2 * 2 = 4

4 * 2 = 8

8 * 2 = 16

16 * 2 = 32

32 * 2 = 64

64 * 2 = 128

128 * 2 = 256

256 * 2 = 512

512 * 2 = 1024 → 124

124 * 2 = 248

248 * 2 = 496

496 * 2 = 992

992 * 2 = 1984

1984 * 2 = 3968

3968 * 2 = 7936

7936 * 2 = 15872

15872 * 2 = 31744

31744 * 2 = 63488

63488 * 2 = 126976

126976 * 2 = 253952

253952 * 2 = 507904 → 5794

5794 * 2 = 11588

11588 * 2 = 23176

23176 * 2 = 46352

46352 * 2 = 92704 → 9274…

Is this a power-trip? Not quite: it’s a return trip, because the numbers can never grow beyond a certain size and the sequence falls into a loop. If the result 2n contains a zero, then zerodelete(2n) < n, so the sequence has an upper limit and a number will eventually occur twice. This happens at step 526 with 366784, which matches 366784 at step 490.

The rate at which we delete zeros can obviously be varied. Call it 1:z. The sequence above sets z = 1, so 1:z = 1:1. But what if z = 2, so that 1:z = 1:2? In other words, the procedure deletes every second zero. The first zero occurs when 1024 = 2 * 512, so 1024 is left as it is. The second zero occurs when 2 * 1024 = 2048, so 2048 becomes 248. When z = 2 and every second zero is deleted, the sequence begins like this:

1 * 2 = 2

2 * 2 = 4

4 * 2 = 8

8 * 2 = 16

16 * 2 = 32

32 * 2 = 64

64 * 2 = 128

128 * 2 = 256

256 * 2 = 512

512 * 2 = 1024 → 1024

1024 * 2 = 2__0__48 → 248

248 * 2 = 496

496 * 2 = 992

992 * 2 = 1984

1984 * 2 = 3968

3968 * 2 = 7936

7936 * 2 = 15872

15872 * 2 = 31744

31744 * 2 = 63488

63488 * 2 = 126976

126976 * 2 = 253952

253952 * 2 = 5079__0__4 → 50794

50794 * 2 = 101588 → 101588

101588 * 2 = 2__0__3176 → 23176

23176 * 2 = 46352

46352 * 2 = 92704 → 92704

92704 * 2 = 1854__0__8 → 18548

This sequence also has a ceiling and repeats at step 9134 with 5458864, which matches 5458864 at step 4166. And what about the sequence in which z = 3 and every third zero is deleted? Does this have a ceiling or does the act of multiplying by 2 compensate for the slower removal of zeros?

In fact, it can’t do so. The larger 2n becomes, the more zeros it will tend to contain. If 2n is large enough to contain 3 zeros on average, the deletion of zeros will overpower multiplication by 2 and the sequence will not rise any higher. Therefore the sequence that deletes every third zero will eventually repeat, although I haven’t been able to discover the relevant number.

But this reasoning applies to any rate, 1:z, of zero-deletion. If z = 100 and every hundredth zero is deleted, numbers in the sequence will rise to the point at which 2n contains sufficient zeros on average to counteract multiplication by 2. The sequence will have a ceiling and will eventually repeat. If z = 10^100 or z = 10^(10^100) and every googolth or googolplexth zero is deleted, the same is true. For any rate, 1:z, at which zeros are deleted, the sequence n = zerodelete(2n,z) has an upper limit and will eventually repeat.

**Update (30×21)**

Six years later, I’ve found the answer for z = 3. And uncovered a serious error in this article. See: