इस खंड में, हम देखेंगे कि कैसे जांचा जाता है कि कोई संख्या विरल है या नहीं। एक संख्या को विरल कहा जाता है यदि संख्या के द्विआधारी प्रतिनिधित्व में दो या दो से अधिक लगातार 1s नहीं हैं। मान लीजिए एक संख्या 72 के समान है। यह 01001000 है। यहाँ कोई दो या अधिक क्रमागत 1s नहीं हैं।
यह जांचने के लिए कि कोई संख्या विरल है या नहीं, हम संख्या को n के रूप में लेंगे, फिर उस संख्या को एक बिट को दाईं ओर शिफ्ट करेंगे, और बिटवाइज़ AND करेंगे। यदि परिणाम 0 है, तो वह एक विरल संख्या है, अन्यथा नहीं।
उदाहरण
#include <iostream> using namespace std; bool isSparseNumber(int n) { int res = n & (n >> 1); if(res == 0) return true; return false; } int main() { int num = 72; if(isSparseNumber(num)){ cout << "This is sparse number"; } else { cout << "This is not sparse number"; } }
आउटपुट
This is sparse number