ধরুন আমাদের দুটি মান আছে n এবং k। আমাদের আভিধানিকভাবে সবচেয়ে ছোট স্ট্রিংটি খুঁজে বের করতে হবে যার দৈর্ঘ্য n এবং সাংখ্যিক মান k এর সমান। একটি ছোট হাতের অক্ষরের সাংখ্যিক মান হল বর্ণমালায় এর অবস্থান (1 থেকে শুরু), তাই 'a' অক্ষরের সাংখ্যিক মান হল 1, অক্ষর 'b'-এর সাংখ্যিক মান হল 2 এবং আরও অনেক কিছু। এবং ছোট হাতের অক্ষর সমন্বিত একটি স্ট্রিং এর সাংখ্যিক মান হল এর অক্ষরের সংখ্যাসূচক মানের সমষ্টি।
সুতরাং, যদি ইনপুটটি n =4 k =16 এর মত হয়, তাহলে আউটপুট হবে "aaam" কারণ এখানে সাংখ্যিক মান হল 1+1+1+13 =16, এবং এটি এমন একটি মান সহ সবচেয়ে ছোট স্ট্রিং এবং দৈর্ঘ্য হল 4.
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- স্ট্রিং :=ফাঁকা স্ট্রিং
- যদিও n> 0 অ-শূন্য, do
- অক্ষর :=সর্বনিম্ন 26 এবং k-n+1
- স্ট্রিং :=বর্ণমালা অবস্থান মান অক্ষর থেকে স্ট্রিং সমন্বিত অনুরূপ অক্ষর
- k :=k - অক্ষর
- n :=n - 1
- স্ট্রিংটি বিপরীত করুন এবং ফিরে আসুন
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
def solve(n, k): string = "" while n > 0: letter = min(26, k-n+1) string += chr(letter + ord('a') - 1) k -= letter n -= 1 return string[::-1] n = 4 k = 16 print(solve(n, k))
ইনপুট
4, 16
আউটপুট
aaam