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

পাইথনে সর্টেড ভোয়েল স্ট্রিং গণনার প্রোগ্রাম


মান লিজিয়ে একটি সংখ্যা 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 হয়, তবে 5 রিটার্ন করুন।

  • count := [1]*6

  • i = 3 থেকে n পর্যন্ত:

    • count[1] += count[2]+count[3]+count[4]+count[5]

    • count[2] += count[3]+count[4]+count[5]

    • count[3] += count[4]+count[5]

    • count[4] += count[5]

  • total := 0

  • i = 1 থেকে 5 পর্যন্ত: total += i * count[i]

  • total রিটার্ন করুন।

উদাহরণ

নিচের ইমপ্লিমেন্টেশনটি দেখুন:

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. কনসিকিউটিভ ১ ছাড়া বাইনারি স্ট্রিংয়ের সংখ্যা গণনা করার পাইথন প্রোগ্রাম

  3. অ্যারে-এ ইনভারশন কাউন্ট করার পাইথন প্রোগ্রাম

  4. পাইথনে ইনসারশন সর্ট প্রোগ্রাম