मान लीजिए कि हमारे पास एक मान n है, n तत्वों के साथ एक सरणी संख्या पर विचार करें, जहां arr[i] =(2*i)+1 सभी i के लिए। अब एक ऑपरेशन में, हम दो इंडेक्स x और y चुन सकते हैं जहां 0 <=x, y
इसलिए, यदि इनपुट n =4 जैसा है, तो आउटपुट 4 होगा क्योंकि n सरणी [1,3,5,7] है, अब पहले ऑपरेशन के बाद हम [2,3,5,6] जैसे सरणी बना सकते हैं ], दूसरे ऑपरेशन के बाद हम [3,3,5,5] बना सकते हैं, फिर तीसरे के बाद [4,3,4,5] और अंत में [4,4,4,4]। तो अब सब बराबर हैं।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
उत्तर:=0
-
अगर n 1 के समान है, तो
-
वापसी उत्तर
-
-
q:=भागफल (n/2) -1
-
जे:=1
-
जबकि q>=0, करें
-
उत्तर:=उत्तर + (एन-जे)
-
क्यू:=क्यू - 1
-
जे:=जे + 2
-
-
वापसी उत्तर
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
def solve(n): ans=0 if n==1: return ans q=(n//2)-1 j=1 while q>=0: ans=ans+(n-j) q-=1 j+=2 return ans n = 4 print(solve(n))
इनपुट
4
आउटपुट
4