मान लीजिए कि हमारे पास दो गैर-ऋणात्मक संख्याएँ हैं जो बाएँ और दाएँ हैं। हमें बाएँ और दाएँ (समावेशी) के बीच विषम संख्याओं की संख्या ज्ञात करनी है।
इसलिए, यदि इनपुट बाएँ =3, दाएँ =15 की तरह है, तो आउटपुट 7 होगा क्योंकि सीमा में 7 विषम संख्याएँ हैं, ये [3,5,7,9,11,13,15] हैं, वहाँ हैं 7 तत्व।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
अगर बायां विषम है या दायां विषम है, तो
-
(दाएं-बाएं)/2
. का 1 + भागफल लौटाएं
-
-
अन्यथा,
-
(दाएं-बाएं)/2
. का वापसी भागफल
-
उदाहरण (पायथन)
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
def solve(left, right): if left % 2 == 1 or right % 2 == 1: return (right-left) // 2 + 1 else: return (right-left) // 2 left = 3 right = 15 print(solve(left, right))
इनपुट
3, 15
आउटपुट
7