- #1

- 17

- 0

## Homework Statement

Write a Java program to solve the following problem.

An elastic rope starts out with length 100 meters. The start of the rope is fixed to a pole and a worm is placed on the rope at the start and the worm starts crawling towards the end. Each day the worm crawls 6 meters along the rope. Each day the rope is stretched by 100 meters. After how many days does the worm reach the end of the rope?

## Homework Equations

This is a harmonic series, so it will eventually have a solution. the equation i end up getting is:

for the nth term:

distance traveled = 6/(100+100) + 6/(100+200) + 6/(100+300)+...+6/(100+n100)

## The Attempt at a Solution

attempt 1:

my code looks like:

ppublic class Worm2 {

public static void main(String[] arg) {

long day, distancefrend, length, n, j, i;

day = 1;

length = 100;

distancefrend = 0;

n = 1;

j = 0;

i = 0;

while (distancefrend >= 0){

while (n <= day){

j = 6/(100 + (n * 100));

i = i + j;

n++;

}

length = length + 100;

distancefrend = length - (i * length);

System.out.println("Day = " + day + " Distance from end: " + distancefrend + " meters.");

day++;

}

}

}

this code was going to take probably 3 hours to run, so i upped the time step to day = day + 1000000 but it STILL didnt work, my distance from end keeps growing forever ..so i tried a whole new approach:

attempt 2 (not using a harmonic series):

public class Worm {

public static void main(String[] arg) {

long day, distance, length, distancefrend;

day = 1;

length = 100;

distance = 0;

distancefrend = 0;

while (distance <= length){

length = length + (100);

distance = (distance/(length - 100))*length + (6);

distancefrend = length - distance;

System.out.println("Day = " + day + " Distance from end: " + distancefrend + "million meters.");

day++;

}

}

}

This was the same...there must be a problem with my code, but i can't find it. This is a first year CS problem and I am a 3rd year astrophysics major, this shouldn't be hard for me but I've had no luck. Please help :)