কম্পিউটার টিউটোরিয়াল

পাইথনে nจান বাইক ব্যবহার করে সর্বোচ্চ দূরত্ব আওতা করার পদ্ধতি

nจান বাইক আছে, প্রতিটি পূর্ণ ট্যাঙ্কে ১০০ কিমি চলে। সব বাইক একসাথে শুরু করলে শুধু ১০০ কিমি যাওয়া যায়। কিন্তু যদি বাইকগুলো সিরিয়ালি (serial) চালানো হয় এবং ইंधন ট্রান্সফার করা হয়, তবে বেশি দূরত্ব আওতা করা যায়। লক্ষ্য হলো ন্যূনতম বাইক ও ইন্ধন ব্যবহার করে সর্বোচ্চ দূরত্ব আওতা করা।

উদাহরণ

ইনপুট: n = 3, fuel = 100

আউটপুট: 183.33

ব্যাখ্যা: প্রথমে ৩টি বাইক ৩৩.৩৩ কিমি চলে, একটির ইন্ধন বাকি দুটিতে ভরায়। তারপর ২টি বাইক ৫০ কিমি চলে, একটির ইন্ধন অন্যটিতে ভরায়। শেষে ১টি বাইক ১০০ কিমি চলে। মোট = ৩৩.৩৩ + ৫০ + ১০০ = ১৮৩.৩৩ কিমি।

সমাধানের পদ্ধতি

  1. প্রতিটি ধাপে বাকি বাইকগুলোর মধ্যে ইंधন সমানভাবে বাঁটানো হয়।
  2. i-তম ধাপে (n-i+1) জানে বাইক থাকে, তাই প্রতিটি fuel/(n-i+1) দূরত্ব চলে।
  3. সর্বোচ্চ দূরত্ব = Σ (fuel / i) for i = n down to 1
  4. এটি হায়ারমনিক সিরিজ (Harmonic Series) এর মতো।

পাইথন কোড

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
  1. পাইথন ব্যবহার করে সর্বোচ্চ সম্ভাবনার পথ খুঁজে বের করার প্রোগ্রাম

  2. পাইথনে সমান দূরত্বে রাখা আইটেম সংগ্রহ করতে আওতা করা দূরত্ব গণনা

  3. Python-এ একটি সংখ্যার ফ্যাক্টোরিয়াল (Factorial) বের করা

  4. Python-এ প্রাকৃতিক সংখ্যার যোগফল (Sum of Natural Numbers) বের করা