randRange( 2, 6 ) shuffle( getPrimeFactorization( 60 ).concat( getPrimeFactorization( DISTANCE ) ) ) function( factors ) { var product = 1; for ( var i = 0; i < factors.length; i++ ) { product *= factors[ i ]; } return product; } randRange( 3, FACTORS.length - 2 ) MULTIPLY( FACTORS.slice( 0, SPLIT ) ) MULTIPLY( FACTORS.slice( SPLIT ) ) (RATE_UP % 3 === 0 ? 2 : 3) * RATE_UP 60 * DISTANCE / RATE_DOWN 60 * 2 * DISTANCE / ( TIME_UP + TIME_DOWN ) i18n._("average speed") i18n._("total distance") i18n._("total time") i18n._("distance uphill") i18n._("distance downhill") i18n._("speed uphill") i18n._("time uphill") i18n._("mph") i18n._("minutes") i18n._("hour") i18n._("time downhill") i18n._("speed downhill") i18n._("miles")

Starting at home, person(1) traveled uphill to the store(1) store for TIME_UP minutes at just RATE_UP mph. He then traveled back home along the same path downhill at a speed of RATE_DOWN mph.

Starting at home, person(1) traveled uphill to the store(1) store for TIME_UP minutes at just RATE_UP mph. She then traveled back home along the same path downhill at a speed of RATE_DOWN mph.

What is his average speed for the entire trip from home to the store( 1 ) store and back?

What is her average speed for the entire trip from home to the store( 1 ) store and back?

RATE_AVG mph

The average speed is not just the average of RATE_UP mph and RATE_DOWN mph.

He traveled for a longer time uphill (since he was going slower), so we can estimate that the average speed is closer to RATE_UP mph than RATE_DOWN mph.

She traveled for a longer time uphill (since she was going slower), so we can estimate that the average speed is closer to RATE_UP mph than RATE_DOWN mph.

To calculate the average speed, we will make use of the following:

\text{AVERAGE_SPEED_TEXT} = \dfrac{\blue{\text{TOTAL_DISTANCE_TEXT}}}{\pink{\text{TOTAL_TIME_TEXT}}}

\text{DISTANCE_UPHILL} = \text{DISTANCE_DOWNHILL}

What was the total distance traveled?

\blue{\begin{align*} \text{TOTAL_DISTANCE_TEXT} &= \text{DISTANCE_UPHILL} + \text{DISTANCE_DOWNHILL} \\ &= 2 \times \text{DISTANCE_UPHILL} \end{align*}}

\begin{align*} \text{DISTANCE_UPHILL} &= \text{SPEED_UPHILL} \times \text{TIME_UPHILL_TEXT} \\ &= RATE_UP\text{ MPH_TEXT} \times TIME_UP\text{ MINUTES_TEXT} \times \dfrac{1 \text{ HOUR_TEXT}}{60 \text{ MINUTES_TEXT}}\\ &= DISTANCE\text{ MILES_TEXT} \end{align*}

Substituting to find the total distance:

\blue{\text{TOTAL_DISTANCE_TEXT} = 2 * DISTANCE\text{ MILES_TEXT}}

What was the total time spent traveling?

\pink{\text{TOTAL_TIME_TEXT} = \text{TIME_UPHILL_TEXT} + \text{TIME_DOWNHILL_TEXT}}

\begin{align*} \text{TIME_DOWNHILL_TEXT} &= \dfrac{\text{DISTANCE_DOWNHILL}}{\text{SPEED_DOWNHILL_TEXT}} \\ &= \dfrac{DISTANCE\text{ MILES_TEXT}}{RATE_DOWN\text{ MPH_TEXT}} \times \dfrac{60 \text{ MINUTES_TEXT}}{1 \text{ HOUR_TEXT}}\\ &= TIME_DOWN\text{ MINUTES_TEXT} \end{align*}

\pink{\begin{align*} \text{TOTAL_TIME_TEXT} &= TIME_UP\text{ MINUTES_TEXT} + TIME_DOWN\text{ MINUTES_TEXT} \\ &= TIME_UP + TIME_DOWN\text{ MINUTES_TEXT} \end{align*}}

Now that we know both the total distance and total time, we can find the average speed.

\begin{align*} \text{AVERAGE_SPEED_TEXT} &= \dfrac{\blue{\text{TOTAL_DISTANCE_TEXT}}}{\pink{\text{TOTAL_TIME_TEXT}}} \\ &= \dfrac{\blue{2 * DISTANCE\text{ MILES_TEXT}}} {\pink{TIME_UP + TIME_DOWN\text{ MINUTES_TEXT}}} \times \dfrac{60 \text{ MINUTES_TEXT}}{1 \text{ HOUR_TEXT}} \\ &= RATE_AVG\text{ MPH_TEXT} \end{align*}

The average speed is RATE_AVG mph, and which is closer to RATE_UP mph than RATE_DOWN mph as we expected.

randRange( 5, 10 ) PEOPLE_INIT randRange( 20, 59 ) randRange( PEOPLE_INIT + 3, 20 ) PEOPLE_FINAL TIME_INIT

It takes TIME_INIT minutes for PEOPLE_INIT people to paint WALL_INIT walls.

How many minutes does it take PEOPLE_FINAL people to paint WALL_FINAL walls?

TIME_FINAL minutes

Imagine that each person is assigned one wall, and all PEOPLE_INIT people begin painting at the same time.

Since everyone will finish painting their assigned wall after TIME_INIT minutes, it takes one person TIME_INIT minutes to paint one wall.

If we have PEOPLE_FINAL people and WALL_FINAL walls, we can again assign one wall to each person.

Everyone will take TIME_FINAL minutes to paint their assigned wall.

In other words, it takes TIME_FINAL minutes for PEOPLE_FINAL people to paint WALL_FINAL walls.

randRangeUnique(3, 10, 2) randRangeExclude(3, 10, [PEOPLE_INIT]) randRangeExclude(3, 10, [WALL_INIT]) WALL_INIT * PEOPLE_FINAL / getGCD(WALL_FINAL * PEOPLE_INIT, WALL_INIT * PEOPLE_FINAL) randRange(floor(30 / DENOM), ceil(60 / DENOM)) * DENOM WALL_FINAL * TIME_INIT * PEOPLE_INIT / (WALL_INIT * PEOPLE_FINAL)

It takes TIME_INIT minutes for PEOPLE_INIT people to paint WALL_INIT walls.

How many minutes does it take PEOPLE_FINAL people to paint WALL_FINAL walls?

TIME_FINAL minutes

First calculate how long it will take one person to paint one wall.

It will take \dfrac{1}{WALL_INIT} of the time to paint one wall. So it will take fractionReduce(TIME_INIT, WALL_INIT) minutes for PEOPLE_INIT people to paint one wall.

For only one person, it will take PEOPLE_INIT times as long, so it will take fractionReduce(TIME_INIT, WALL_INIT) \cdot PEOPLE_INIT = fractionReduce(TIME_INIT * PEOPLE_INIT, WALL_INIT) minutes for one person to paint one wall.

So, the number of minutes it will take for one person to paint WALL_FINAL walls is fractionReduce(TIME_INIT * PEOPLE_INIT, WALL_INIT) \cdot WALL_FINAL = fractionReduce(TIME_INIT * PEOPLE_INIT * WALL_FINAL, WALL_INIT).

The number of minutes it will take for PEOPLE_FINAL people to paint WALL_FINAL walls is fractionReduce(TIME_INIT * PEOPLE_INIT * WALL_FINAL, WALL_INIT) \div PEOPLE_FINAL = TIME_FINAL.