बीएमओ 2 2009 से चौथी समस्या से प्रेरित ।
इनपुट या पैरामीटर के रूप में एक सकारात्मक पूर्णांक n को देखते हुए, सकारात्मक पूर्णांक की संख्या लौटाएं जिनके द्विआधारी निरूपण n के बाइनरी विस्तार में ब्लॉक के रूप में होते हैं ।
उदाहरण के लिए, 13 -> 6 क्योंकि 13 में बाइनरी 1101 है और इसमें सब्सट्रिंग है 1101, 110, 101, 11, 10, 1
। हम उन बाइनरी संख्याओं की गणना नहीं करते हैं जो शून्य से शुरू होती हैं और हम स्वयं शून्य की गणना नहीं करते हैं।
परीक्षण के मामलों
13 -> 6
2008 -> 39
63 -> 6
65 -> 7
850 -> 24
459 -> 23
716 -> 22
425 -> 20
327 -> 16
आप निम्न में से किसी के रूप में n में ले सकते हैं :
- पूर्णांक
- बाइनरी प्रतिनिधित्व के लिए सत्य / झूठे मूल्यों की एक सूची
- बाइनरी प्रतिनिधित्व के लिए एक स्ट्रिंग
- एक आधार 10 स्ट्रिंग (हालांकि मुझे यकीन नहीं है कि कोई भी ऐसा क्यों करेगा)
अपने कोड को यथासंभव छोटा करें।