Find the distance covered to collect items at equal distances in Python

In this problem, we need to calculate the total distance covered by a participant who collects stones placed at equal intervals and returns each stone to a starting bucket.

The setup is as follows:

  • A bucket is placed at the starting point

  • The first stone is 6 units away from the bucket

  • Each subsequent stone is 4 units apart from the previous one

  • The participant must collect stones one by one, returning to the bucket after each collection

Bucket Stone 1 Stone 2 Stone 3 Stone 4 Stone 5 6 units 4 units 4 units

Distance Calculation Logic

For each stone collection, the participant must travel to the stone and return to the bucket ?

  • Stone 1: Distance = 2 × 6 = 12 units

  • Stone 2: Distance = 2 × (6 + 4) = 20 units

  • Stone 3: Distance = 2 × (6 + 4 + 4) = 28 units

  • Stone n: Distance = 2 × (6 + 4 × (n-1)) units

Mathematical Formula Derivation

The total distance for collecting all n stones can be expressed as ?

  • D = 2×6 + 2×(6+4) + 2×(6+4+4) + ... + 2×(6+4×(n-1))

  • D = 2×[6 + (6+4) + (6+2×4) + ... + (6+(n-1)×4)]

  • D = 2×[6n + 4(1 + 2 + ... + (n-1))]

  • D = 2×[6n + 4×(n×(n-1)/2)]

  • D = 2×[6n + 2×(n×(n-1))]

Implementation

def find_distance(n):
    return 2 * (6 * n + 2 * ((n - 1) * n))

# Test with 5 stones
n = 5
total_distance = find_distance(n)
print(f"Total distance to collect {n} stones: {total_distance} units")

# Verify by calculating each trip
print("\nStep-by-step calculation:")
total = 0
for i in range(1, n + 1):
    stone_distance = 6 + 4 * (i - 1)
    trip_distance = 2 * stone_distance
    total += trip_distance
    print(f"Stone {i}: Distance = {stone_distance}, Round trip = {trip_distance}")

print(f"Total verified distance: {total} units")
Total distance to collect 5 stones: 140 units

Step-by-step calculation:
Stone 1: Distance = 6, Round trip = 12
Stone 2: Distance = 10, Round trip = 20
Stone 3: Distance = 14, Round trip = 28
Stone 4: Distance = 18, Round trip = 36
Stone 5: Distance = 22, Round trip = 44
Total verified distance: 140 units

Conclusion

The formula D = 2×[6n + 2×(n×(n-1))] efficiently calculates the total distance for collecting n stones. The algorithm has O(1) time complexity, making it suitable for large values of n.

Updated on: 2026-03-25T09:26:57+05:30

152 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements