ধরুন আমাদের দুটি সংখ্যার শুরু এবং শেষ আছে, আমাদেরকে পূর্ণসংখ্যার একটি সাজানো তালিকা খুঁজে বের করতে হবে যাতে প্রতিটি সংখ্যা ই পরিসরে [শুরু, শেষ] উভয়ই অন্তর্ভুক্ত করে এবং e-এর সংখ্যা ধারাবাহিকভাবে বৃদ্ধি পায়। ক্রমাগত সংখ্যা বৃদ্ধির একটি উদাহরণ হল 5678, কিন্তু 169 নয়৷
৷সুতরাং, ইনপুট যদি start =10 end =150 এর মত হয়, তাহলে আউটপুট হবে [12, 23, 34, 45, 56, 67, 78, 89, 123]
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- s :=একটি স্ট্রিং "123456789" হিসাবে সমস্ত 9টি সংখ্যা
- a :=একটি নতুন তালিকা
- আমি 0 থেকে 8 রেঞ্জের জন্য, কর
- i + 1 থেকে 9 রেঞ্জে j-এর জন্য
- করুন
- x :=(সূচী i থেকে j-1 পর্যন্ত s এর সাবস্ট্রিং) সংখ্যা হিসাবে
- যদি শুরু হয় <=x <=শেষ, তারপর
- এতে x ঢোকান
- করুন
- তালিকা বাছাই করুন এবং ফেরত দিন
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
def solve(start, end): s = "123456789" a = [] for i in range(9): for j in range(i + 1, 10): x = int(s[i:j]) if start <= x <= end: a += (x,) return sorted(a) start = 10 end = 150 print(solve(start, end))
ইনপুট
10, 150
আউটপুট
[12, 23, 34, 45, 56, 67, 78, 89, 123]