কম্পিউটার

পাইথনে সাজানো স্বরবর্ণের স্ট্রিং গণনা করার প্রোগ্রাম


ধরুন আমাদের একটি সংখ্যা n আছে, আমাদেরকে n আকারের স্ট্রিংগুলির সংখ্যা খুঁজে বের করতে হবে যা শুধুমাত্র স্বরবর্ণ (a, e, i, o, u) নিয়ে গঠিত এবং সেগুলি অভিধানিকভাবে সাজানো হয়েছে। আমরা বলতে পারি যে একটি স্ট্রিং s আভিধানিকভাবে সাজানো হয় যখন সমস্ত বৈধ সূচক i, s[i] বর্ণমালায় s[i+1] এর মতো বা তার আগে আসে।

সুতরাং, যদি ইনপুটটি n =2 এর মত হয় তবে আউটপুট 15 হবে কারণ এখানে অনেক স্ট্রিং রয়েছে যেমন ["aa", "ae", "ai", "ao", "au", "ee", "ei ", "eo", "eu", "ii", "io", "iu", "oo", "ou", "uu"]।

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • যদি n 1 এর মত হয়, তাহলে
    • রিটার্ন ৫
  • গণনা :=আকার 6 এর একটি অ্যারে, এবং প্রাথমিকভাবে 1 দিয়ে পূর্ণ হয়
  • 3 থেকে n রেঞ্জের জন্য, করুন
    • গণনা[1] :=গণনা[1]+গণনা[2]+গণনা[3]+গণনা[4]+গণনা[5]
    • গণনা[2] :=গণনা[2]+গণনা[3]+গণনা[4]+গণনা[5]
    • গণনা[3] :=গণনা[3]+গণনা[4]+গণনা[5]
    • গণনা[4] :=গণনা[4]+গণনা[5]
  • মোট :=0
  • আমি 1 থেকে 5 রেঞ্জের জন্য, কর
    • মোট :=মোট + i*গণনা[i]
  • মোট রিটার্ন

উদাহরণ

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

def solve(n):
   if n==1:
      return 5
   count = [1 for i in range(6)]
   for i in range(3,n+1):
      count[1] = count[1]+count[2]+count[3]+count[4]+count[5]
      count[2] = count[2]+count[3]+count[4]+count[5]
      count[3] = count[3]+count[4]+count[5]
      count[4] = count[4]+count[5]
   total = 0
   for i in range(1,6):
      total += i*count[i]
   return total

n = 2
print(solve(n))

ইনপুট

2

আউটপুট

15

  1. পাইথনে n নোড সহ BST সংখ্যা গণনা করার প্রোগ্রাম

  2. পাইথন প্রোগ্রাম পরপর 1’ ছাড়া বাইনারি স্ট্রিং সংখ্যা গণনা করতে

  3. পাইথন প্রোগ্রাম একটি অ্যারের মধ্যে বিপরীত গণনা

  4. পাইথন প্রোগ্রামে সন্নিবেশ বাছাই