समस्या विवरण
दी गई संख्या के बाइनरी प्रतिनिधित्व में सबसे लंबे लगातार 1 की लंबाई खोजें।
उदाहरण
इनपुट: n = 15
आउटपुट: 4
15 का बाइनरी प्रतिनिधित्व 1111 है।
एल्गोरिदम
- संख्या इनपुट करें।
- एक काउंटर वेरिएबल c=0 का उपयोग करें।
- i=0 तक पहुंचने के लिए इटरेशन की संख्या गिनें।
- यह ऑपरेशन 1 के प्रत्येक अनुक्रम की लंबाई को एक से कम कर देता है।
उदाहरण कोड
# संख्या के बाइनरी प्रतिनिधित्व में सबसे लंबे लगातार 1 की लंबाई खोजने का पायथन प्रोग्राम
def maxlength(n):
# परिणाम आरंभ करें
c = 0
# x=0 तक पहुंचने के लिए इटरेशन की संख्या गिनें
while (n != 0):
# यह ऑपरेशन 1 के प्रत्येक अनुक्रम की लंबाई को एक से कम कर देता है
n = (n & (n << 1))
c = c + 1
return c
# ड्राइवर कोड
n = int(input("संख्या दर्ज करें ::>"))
print("1 की अधिकतम लंबाई ::>", maxlength(n))
आउटपुट
संख्या दर्ज करें ::>15
1 की अधिकतम लंबाई ::>4