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

পাইথনে যোগফল k হয় এমন স্বতন্ত্র কম্বিনেশনের সংখ্যা বের করার প্রোগ্রাম


মান লক্ষ্য করুন আমাদের কাছে বরাবর নয় এমন একটি সংখ্যার তালিকা nums এবং অন্য একটি সংখ্যা k আছে। আমাদের কাজ হল যোগফল k হয় এমন স্বতন্ত্র কম্বিনেশনের সংখ্যা বের করা। কম্বিনেশন বানাতে সময় সংখ্যাগুলো পুনরাবৃত্তি করা যাবে।

উদাহরণস্বরূপ, যদি ইনপুট হয় nums = [2, 4, 5] এবং k = 4, তবে আউটপুট হবে 2, কারণ আমরা দুটি এমন গ্রুপ বানাতে পারি: [2, 2] এবং [4]।

সমাধানের ধাপসমূহ:
  • table := আকার k+1 এমন একটি তালিকা যা ০ দিয়ে ভরা আছে।
  • table[0] := 1
  • প্রতিটি num এর জন্য nums-এ:
    • i কে num থেকে k পর্যন্ত লুপ চালান:
      • table[i] := table[i] + table[i - num]
  • table[k] রিটার্ন করুন।
উদাহরণ কোড
class Solution:
    def solve(self, nums, k):
        table = [1] + [0] * k
        for num in nums:
            for i in range(num, k + 1):
                table[i] += table[i - num]
        return table[k]

ob = Solution()
nums = [2, 4, 5]
k = 4
print(ob.solve(nums, k))
ইনপুট
[2, 4, 5], 4
আউটপুট
2
  1. একটি সংখ্যার সম ফ্যাক্টরের যোগফল বের করার পাইথন প্রোগ্রাম

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

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

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