Computer >> Máy Tính >  >> Lập trình >> Python

Tìm khoảng cách tối đa được bao phủ bằng cách sử dụng n xe đạp trong Python


Giả sử có n chiếc xe đạp và mỗi chiếc có thể đi được 100 km khi chúng được đổ đầy nhiên liệu. Chúng ta phải tìm quãng đường tối đa mà chúng ta có thể đi được khi sử dụng n chiếc xe đạp này. Ở đây chúng ta có thể cho rằng tất cả các loại xe đạp đều giống nhau và một chiếc xe đạp tiêu thụ 1 lít nhiên liệu để đi được quãng đường 1 km. Vì vậy, nếu n chiếc xe đạp xuất phát từ cùng một điểm và chạy song song, chúng ta chỉ có thể đi được 100 km, trong trường hợp này mục tiêu của chúng ta là đi được quãng đường tối đa, với lượng nhiên liệu tối thiểu. Và mức tiêu hao nhiên liệu tối thiểu có nghĩa là số lượng xe đạp được sử dụng tối thiểu. Nếu xe đạp chạy nối tiếp nhau thì sẽ giúp bạn đi được nhiều quãng đường hơn. Vì vậy, chúng tôi chuyển một lượng nhiên liệu từ chiếc xe đạp cuối cùng sang chiếc xe đạp khác và không chạy chiếc xe đạp cuối cùng sau một thời điểm nhất định. Nhưng bây giờ vấn đề là phải thực hiện được quãng đường vận chuyển nhiên liệu như thế nào để khoảng cách tối đa được bao phủ và bình xăng của phần còn lại của xe đạp không bị tràn.

Vì vậy, nếu đầu vào là n =3 và nhiên liệu =100, thì đầu ra sẽ là 183,33

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • Cover_diatance:=0

  • trong khi n> 0 là khác 0, thực hiện

    • cover_diatance:=che_diatance + (fuel / n)

    • n:=n - 1

  • trả lại Cover_diatance

Ví dụ

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

def maximum_distance(n, fuel):
   covered_diatance = 0
   while (n > 0):
      covered_diatance = covered_diatance + (fuel / n)
      n = n - 1
   return covered_diatance
n = 3
fuel = 100
print(maximum_distance(n, fuel))

Đầu vào

3, 100

Đầu ra

183.33333333333334