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

পাইথনে দ্বীপে বাঁচে থাকা সম্ভব কিনা তা যাচাই করা

মান লিজিয়ে একটি দ্বীপ (island) আছে। সেখানে শুধু একটি দোকান আছে, যা সবসময় খোলা থাকে রবিবার ছাড়া। আমাদের নিচের ইনপুট মানগুলো আছে:

  • N (প্রতিদিন কেউ সর্বোচ্চ কতটুকু খাবার কিনতে পারে)।
  • S (কত দিন বাঁচতে হবে)।
  • M (প্রতিদিন বাঁচতে কতটুকু খাবার লাগবে)।

আজ সোমবার, এবং আমাদের পরের S দিন বাঁচতে হবে। আমাদের যাচাই করতে হবে আমরা বাঁচতে পারব কিনা, এবং যদি পারি তবে খাবার কিনতে হলে ন্যূনতম কত দিন দোকানে যেতে হবে।

যেমন, ইনপুট যদি S = 12, N = 24, M = 3 হয়, তবে আউটপুট হবে True এবং খাবার কিনতে হবে ন্যূনতম ২ দিন, কারণ আমরা ২৪ ইউনিট খাবার দিয়ে ৮ দিন (এই সোমবার থেকে পরের সোমবার) বাঁচতে পারি, তারপর আবার ১২ ইউনিট কিনে পরের ৪ দিন বাঁচব।

সমাধানের ধাপসমূহ

  • যদি (N * 6 < M * 7 and S > 6) or M > N হয়, তবে:
    • False রিটার্ন করুন
  • অন্যথায়:
    • count := (M * S) / N-এর ভাগফল
    • যদি (M * S) N দ্বারা বিভাজ্য হয়, তবে:
      • count := count + 1
  • True এবং count রিটার্ন করুন

উদাহরণ

বेहतर বোঝার জন্য নিচের বাস্তবায়নটি দেখুন:

def solve(S, N, M):
    if ((N * 6) < (M * 7) and S > 6) or M > N:
        return False
    else:
        count = (M * S) // N
        if ((M * S) % N) != 0:
            count += 1
        return (True, count)

S = 12
N = 24
M = 3
print(solve(S, N, M))

ইনপুট

12, 24, 3

আউটপুট

(True, 2)
  1. পাইথনে ভেক্টর A-কে রোটেট এবং ভেক্টর C যোগ করে ভেক্টর B-তে পৌঁছানো সম্ভব কিনা তা যাচাই করা

  2. পাইথনে দেওয়া সংখ্যা N থেকে প্যালিনড্রোম স্ট্রিং তৈরি করা সম্ভব কিনা তা যাচাই করা

  3. পাইথন - ডিকশনারি খালি কিনা যাচাই করা

  4. পাইথনে ভেরিয়েবল স্ট্রিং কিনা যাচাই করা