# Riddle about ant going through self extendible string

Ant stands at the end of a rubber string which has 1km of length. Ant starts going to the other end at speed 1cm/s. Every second the string becomes 1km longer.

For readers from countries where people use imperial system: 1km = 1000m = 100 000cm

Will the ant ever reach the end of the string? But how to explain it.

I know that yes.

Let : a - distance covered by ant d - length of string c - constant by which the string is extended

The distance covered by ant in second i is a[i] = (a[i-1] + 1)* (d + c)/d

I even did computer simulation in microscale where the string is 10cm long and extends by 10cm every second and the ant reaches the end:

public class Mrowka {
public final static double DISTANCE_IN_CM = 10;
public static void main(String[] args) {
double ant = 0;//ants distance
double d = DISTANCE_IN_CM;//length of string
double dLeft = d - ant;//distance left
int i = 0;
while(dLeft > 0){
ant++;
ant =  ant * (d + DISTANCE_IN_CM)/d;
d = d + DISTANCE_IN_CM;
dLeft = d - ant;
System.out.println(i + ". Ant distance " + ant +"\t Length of string " + d + " distance left " + dLeft);
i++;
}
System.out.println("end");
}
}


Output:

0. Ant distance 2.0  Length of string 20.0 distance left 18.0
1. Ant distance 4.5  Length of string 30.0 distance left 25.5
2. Ant distance 7.333333333333333    Length of string 40.0 distance left 32.666666666666664
.....
12364. Ant distance 123658.53192119849   Length of string 123660.0 distance left 1.4680788015102735
12365. Ant distance 123669.5318833464    Length of string 123670.0 distance left 0.46811665360291954
12366. Ant distance 123680.53192635468   Length of string 123680.0 distance left -0.5319263546844013
end


EDIT:

I think that I need to calculate this a[n] = (a[n-1] + 1)*(1 + 1/(1+n)) when n->+oo

• Similar to math.stackexchange.com/questions/40473/… – Eric Towers Mar 25 '14 at 19:42
• @EricTowers Thank you, but I am not mathematitian and it is little to hard for me. Now I try to find border of the funtion I will post in my edit in 1 minute. Please look. – Yoda Mar 25 '14 at 19:44

## 2 Answers

• In the first second, the ant covers $1$ cm${}/1$ km ${}= 10^{-5}$ part of the string. (This is $10^{-3}\%$.)
• In the second second, the ant covers $1$ cm${}/2$ km ${}= 1/2 \cdot 10^{-5}$ part of the new string.
• In the third second, the ant covers $1$ cm${}/3$ km ${}= 1/3 \cdot 10^{-5}$ part of the new string.
• ...
• In the $k^\text{th}$ second, the ant covers $1$ cm${}/k$ km ${}= 1/k \cdot 10^{-5}$ part of the new string.

The sum $\sum_{k=1}^\infty \frac{1}{k}$ is known as the harmonic series. Its partial sums are the harmonic numbers. You're question essentially asks whether the harmonic numbers eventually exceed $10^5$. It is known that the harmonic series diverges, so the harmonic numbers grow arbitrarily large and do eventually exceed $10^5$. (However, not very quickly. It takes approximately $1.57 \times 10^{43429}$ seconds in your stated problem.)

The easiest way to see the result is to measure the ant's position and speed relative to the current length of the string. Since the length of the string is $(1+t)$ km after $t$ seconds, the ant's speed relative to the length at time $t$ is $$\frac{dx}{dt}=\frac{1\text{ cm/s}}{(1+t)\text{ km}}\cdot{\text{s}}=\frac{10^{-5}}{1+t}.$$ Integrating this gives $$x(t)=\int_{0}^{t}\frac{10^{-5}}{1+t'}dt'=10^{-5}\ln(1+t).$$ This is equal to $1$ (i.e., the ant reaches the end of the string) when $x(t)=1$, or $$t=\exp\left(10^5\right)-1.$$ That is, after a number of seconds that is about $43000$ digits long.