मान लीजिए हम नीचे की तरह एक संख्या त्रिभुज उत्पन्न कर रहे हैं
1 1 1 1 1 2 3 2 1 1 3 6 7 6 3 1
जहाँ प्रत्येक पंक्ति में उसके ऊपर तीन संख्याएँ जोड़कर तत्व उत्पन्न होते हैं। अब अगर हमारे पास एक लाइन नंबर l है। हमें उस रेखा की पहली सम संख्या का स्थान ज्ञात करना है। स्थिति मान 1 से शुरू हो रहे हैं।
इसलिए, यदि इनपुट l =5 जैसा है, तो आउटपुट 2 होगा
1 1 1 1 1 2 3 2 1 1 3 6 7 6 3 1 1 4 10 16 19 16 10 4 1
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- यदि l 1 के समान है या l 2 के समान है, तो
- वापसी -1
- अन्यथा जब l mod 2 0 के समान हो, तो
- यदि l mod 4 0 के समान है, तो
- वापस 3
- अन्यथा,
- वापस 4
- यदि l mod 4 0 के समान है, तो
- अन्यथा,
- वापसी 2
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
def solve(l): if l == 1 or l == 2 : return -1 elif l % 2 == 0: if l % 4 == 0: return 3 else: return 4 else: return 2 l = 5 print(solve(l))
इनपुट
5
आउटपुट
2