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

কয়েন চেঞ্জ সমস্যার পাইথন প্রোগ্রাম


এই আর্টিকেলে আমরা নিচের সমস্যা সমাধানের কথা শিখব।

সমস্যা: N টি কয়েন দেওয়া আছে এবং আমরা সেগুলোর চেঞ্জ করতে চাই এমনভাবে যাতে, S-এ প্রতিটি ভ্যালুর অনলিমিটেড সাপ্লাই থাকে। আমাদের ডিসপ্লে করতে হবে কতভাবে আমরা অর্ডার উপেক্ষা করে চেঞ্জ করতে পারি।

সময় জটিলতা কমাতে ডাইনামিক প্রোগ্রামিং কনসেপ্ট ব্যবহার করে সমস্যা সমাধান করব।

চলুন নিচের ইমপ্লিমেন্টেশনে সমাধানটি পর্যবেক্ষণ করি।

উদাহরণ

# ডাইনামিক অ্যাপ্রোচ
def count(S, m, n):
    # বেস কেস
    table = [[0 for x in range(m)] for x in range(n+1)]
    # n=0 এর জন্য
    for i in range(m):
        table[0][i] = 1
    # বাকি ভ্যালু বটম-আপ ম্যানার ফিল
    for i in range(1, n+1):
        for j in range(m):
            # S[j] অন্তর্ভুক্ত করে সমাধান
            x = table[i - S[j]][j] if i - S[j] >= 0 else 0
            # S[j] বাদ দিয়ে সমাধান
            y = table[i][j-1] if j >= 1 else 0
            # টোটাল
            table[i][j] = x + y
    return table[n][m-1]

# মেইন
arr = [1, 3, 2, 4]
m = len(arr)
n = 5
print("Number of coins:", end="")
print(count(arr, m, n))

আউটপুট

Number of coins: 6

কয়েন চেঞ্জ সমস্যার পাইথন প্রোগ্রাম

সभी ভেরিয়েবল লোকাল স্কোপে ঘোষণা করা হয়েছে এবং তাদের রেফারেন্স উপরের চিত্রে দেখা যাচ্ছে।

উপসংহার

এই আর্টিকেলে আমরা শিখেছি কিভাবে কয়েন চেঞ্জ সমস্যার পাইথন প্রোগ্রাম লিখতে হয়।

  1. অ্যারে রোটেশনের পাইথন প্রোগ্রাম

  2. পাইথনে চক্রবৃদ্ধি বunga (Compound Interest) প্রোগ্রাম

  3. পাইথন প্রোগ্রাম: সিম্পল ইন্টারেস্ট ক্যালকুলেশন

  4. পাইথন প্রোগ্রাম: সিলেকশন সোর্ট অ্যালগরিদম