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

পাইথনে কয়েন দিয়ে বানানো যাবে সর্বাধিক কনsekutিভ ভ্যালুর সংখ্যা খুঁজে বের করার প্রোগ্রাম


আমাদের একটি অ্যারে আছে coins যাতে n উপাদান রয়েছে, এবং এটি আমাদের কয়েনগুলোকে প্রতিনিধিত্ব করে। i-তম কয়েনের মান coins[i]। আমরা কিছু মান x বানাতে পারি যদি আমাদের n কয়েন থেকে কিছু সিলেক্ট করে তাদের মানগুলোর যোগফল x হয়। আমাদের 0 থেকে শুরু করে কয়েন দিয়ে বানানো যাবে সর্বাধিক কনsekutিভ ভ্যালুর সংখ্যা বের করতে হবে।

উদাহরণস্বরূপ, ইনপুট coins = [1,1,3,4] হলে আউটপুট হবে 10, কারণ:

  • 0 = []

  • 1 = [1]

  • 2 = [1,1]

  • 3 = [3]

  • 4 = [4]

  • 5 = [4,1]

  • 6 = [4,1,1]

  • 7 = [4,3]

  • 8 = [4,3,1]

  • 9 = [4,3,1,1]

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

  • coins লিস্টটি সর্ট করুন

  • ans := 1

  • coins-এর প্রতিটি coin এর জন্য:

    • যদি coin > ans হয়, তবে:

      • লুপ থেকে বেরিয়ে আসুন

    • ans := ans + coin

  • ans রিটার্ন করুন

উদাহরণ

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

def solve(coins):
    coins.sort()
    ans = 1
    for coin in coins:
        if coin > ans:
            break
        ans += coin
    return ans

coins = [1,1,3,4]
print(solve(coins))

ইনপুট

[1,1,3,4]

আউটপুট

10
  1. পাইথনে চেঞ্জ করার ন্যূনতম কয়েন সংখ্যা খুঁজে বের করার প্রোগ্রাম

  2. পাইথনে এনকোডেড মেসেজ ডিকোড করার উপায়ের সংখ্যা খুঁজে বের করার প্রোগ্রাম

  3. পাইথনে ২ডি ম্যাট্রিক্সে ডান ও নিচে চলা সীমাবদ্ধ রেখে সর্বোচ্চ কয়েন সংগ্রহ করার প্রোগ্রাম

  4. পাইথনে 'a' কে 'a' বা 'b' এবং 'b' কে 'b' রেখে বানানো সম্ভাব্য স্ট্রিং সংখ্যা বের করার প্রোগ্রাম