मान लीजिए हमारे पास एक संख्या n है; हमें n+1 की लंबाई के निचले केस स्ट्रिंग की जांच करनी होगी ताकि किसी भी स्थिति में वर्ण अपने तत्काल अगले वर्ण से शब्दकोषीय रूप से बड़ा हो।
इसलिए, यदि इनपुट 15 जैसा है, तो आउटपुट ponmlkjihgfedcba होगा।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- temp_str:=रिक्त स्ट्रिंग
- अतिरिक्त :=n मॉड 26
- यदि अतिरिक्त>=1, तो
- 26 -(अतिरिक्त + 1) से 25 की सीमा में i के लिए, करें
- temp_str:=temp_str + str[i]
- गिनती :=n / 26 (पूर्णांक विभाजन)
- मैं श्रेणी 1 से गिनने के लिए + 1 के लिए
- जे के लिए 0 से 25 की सीमा में, करें
- temp_str:=temp_str + str[j]
- जे के लिए 0 से 25 की सीमा में, करें
- 26 -(अतिरिक्त + 1) से 25 की सीमा में i के लिए, करें
- temp_str लौटाएं
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
def show_string(n, str): temp_str = "" extra = n % 26 if (extra >= 1) : for i in range( 26 - (extra + 1), 26): temp_str += str[i] count = n // 26 for i in range(1, count + 1) : for j in range(26): temp_str += str[j] return temp_str n = 15 str = "zyxwvutsrqponmlkjihgfedcba" print(show_string(n, str))
इनपुट
15
आउटपुट
ponmlkjihgfedcba