मान लीजिए कि हमारे पास दो संख्याएं प्रारंभ और अंत हैं, हमें पूर्णांकों की एक क्रमबद्ध सूची ढूंढनी है जैसे कि प्रत्येक संख्या ई श्रेणी में [प्रारंभ, अंत] दोनों समावेशी और ई के अंक लगातार बढ़ रहे हैं। लगातार बढ़ती संख्या का एक उदाहरण 5678 है, लेकिन 169 नहीं है।
इसलिए, यदि इनपुट प्रारंभ =10 अंत =150 जैसा है, तो आउटपुट [12, 23, 34, 45, 56, 67, 78, 89, 123]
होगा।इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- s :=सभी 9 अंक "123456789" स्ट्रिंग के रूप में
- a :=एक नई सूची
- 0 से 8 के बीच के लिए, करें
- i + 1 से 9 की श्रेणी में j के लिए, करें
- x :=(सूचकांक i से j-1 में s का स्थानापन्न) संख्या के रूप में
- यदि प्रारंभ <=x <=अंत, तो
- x को a में डालें
- i + 1 से 9 की श्रेणी में j के लिए, करें
- सूची को क्रमबद्ध करें और वापस लौटें
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
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]