Given any N.

d(N) = number of digits in N = floor lgN + 1

if N >= 1000,

(floor lgN+ 1) * 100 < N (a) (proof)

Given a sequence: N0, N1, N2…

if N0 >= 1000, then

N1 <= d(N0) * 81 < 100 * d(N0)

100 * d(N0) = 100 * (floor lgN0 + 1) < N0

so, N1 < N0,

that is: for any number no less than 1000, next number in sequence is smaller.

if N0 < 1000, then

d(N0) < 4

N1 <= d(N0) * 81 < 100 * d(N0) < 400

so N1 < 400

that is: for any number less than 1000, next number in sequence is less than 400

Now consider any number N, if it’s >= 1000, the next in sequence is within N. If it’s < 1000, (including numbers less than 400), the next is less than 400.

So the all numbers in the sequence after N is less than N.

Since there are finite numbers in the sequence, it must have loop.

Q.E.D

(a)

if N >= 1000,

(floor lgN+ 1) * 100 < N

Proof:

https://math.stackexchange.com/questions/65202/how-to-prove-log-n-n