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

পাইথনে রেসকিউয়ের জন্য ন্যূনতম রকেটশিপের সংখ্যা খুঁজে বের করার প্রোগ্রাম


মান ল করুন weights নামের একটি সংখ্যার তালিকা যা মানুষের ওজন বোঝায় এবং limit মানটি একটি রকেটশিপের ওজন লিমিট নির্ধারণ করে। প্রতিটি রকেটশিপ hoogstens দুইজন নিতে পারে। সবাইকে গ্রহে রেসকিউ করার জন্য ন্যূনতম কতটি রকেটশিপ লাগবে তা খুঁজে বের করতে হবে।

যদি ইনপুট হয় weights = [300, 400, 300], limit = 600, তবে আউটপুট হবে ২, কারণ ৩০০ ওজনের দুজন এক রকেটশিপে যাবে এবং ৪০০ ওজনের জনটির জন্য আরেকটি লাগবে।

এটি সমাধান করতে আমরা নিম্নলিখিত ধাপগুলি অনুসরণ করব:

  • weights তালিকাটি সাজান।

  • cnt := 0

  • যখন weights খালি না হয়:

    • x := weights-র শেষ উপাদানটি মুছে ফেলুন।

    • যদি weights খালি না থাকে এবং weights[0] <= limit - x হয়, তবে weights-র প্রথম উপাদানটি মুছে ফেলুন।

    • cnt := cnt + 1

  • cnt ফেরত দিন।

বेहतर বোঝার জন্য নিচের ইমপ্লিমেন্টেশনটি দেখুন:

উদাহরণ (পাইথন)

class Solution: def solve(self, weights, limit):    weights.sort()    cnt = 0    while weights:       x = weights.pop()       if weights and weights[0] <= limit - x:          weights.pop(0)       cnt += 1    return cnt ob = Solution() weights = [300, 400, 300] limit = 600 print(ob.solve(weights, limit))

ইনপুট

[300, 400, 300], 600

আউটপুট

2

  1. পাইথনে একটি সংখ্যার বিষম গুণনীয়গুলোর যোগফল বের করার প্রোগ্রাম

  2. পাইথনে একটি সংখ্যার জোড় গুণনীয়গুলোর যোগফল বের করার প্রোগ্রাম

  3. পাইথনে একটি সংখ্যার গুণনীয়গুলোর ন্যূনতম যোগফল বের করার প্রোগ্রাম

  4. পাইথনে একটি সংখ্যার সর্বোচ্চ质因数 বের করার প্রোগ্রাম