मान लीजिए कि हमारे पास एक संख्या n और दूसरा मान k है, मान लीजिए कि हमारे पास पहले N प्राकृतिक संख्याओं के साथ एक सरणी A है, हमें A से तत्वों A[i] और A[j] के जोड़े की कुल संख्या ज्ञात करनी है, जैसे कि, i
इसलिए, यदि इनपुट n =10 k =4 जैसा है, तो आउटपुट 10 होगा क्योंकि 10 जोड़े हैं जिनका योग 4 से विभाज्य है। [(1,3), (1,7), (2,6) , (2,10), (3,5), (3,9), (4,8), (5,7), (6,10), (7,9)]
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
def solve(n, k):
m = n // k
r = n % k
b = {}
for i in range(k) :
b[i] = m
for i in range(m*k+1, n+1) :
j = i % k
b[j] = b[j] + 1
c = 0
for i in range(k) :
i1 = i
i2 = (k - i) % k
if i1 == i2 :
c = c + b[i] * (b[i]-1)
else :
c = c + b[i1] * (b[i2])
return c//2
n = 10
k = 4
print(solve(n, k))
इनपुट
4, 27
आउटपुट
10