मान लीजिए कि हमारे पास एक मान 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