Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

หาระยะทางสูงสุดที่เดินทางได้ด้วยจักรยาน n คันใน Python

สมมติว่ามีจักรยาน n คัน แต่ละคันวิ่งได้ 100 กม. เมื่อเติมน้ำมันเต็ม ถัง น้ำมัน 1 ลิตร วิ่งได้ 1 กม. ต้องการหาระยะทางสูงสุดที่เดินทางได้โดยการโอนน้ำมันระหว่างจักรยาน

เช่น n = 3, fuel = 100 ผลลัพธ์คือ 183.33

ขั้นตอนการแก้ปัญหา

  1. เริ่มต้น covered_distance = 0
  2. วนลูป while n > 0:
    • covered_distance += fuel / n
    • n -= 1
  3. คืนค่า covered_distance

หลักการ: ให้จักรยานวิ่งร่วมกันจนถังน้ำมันของคันหนึ่งจะหมด โอนน้ำมันให้คันอื่นเต็ม แล้วทิ้งคันที่หมด ไปเรื่อยๆ

ตัวอย่างโค้ด Python

def maximum_distance(n, fuel):
    covered_distance = 0
    while n > 0:
        covered_distance += fuel / n
        n -= 1
    return covered_distance

n = 3
fuel = 100
print(maximum_distance(n, fuel))

อินพุต

3, 100

เอาต์พุต

183.33333333333334