ब्लीक संख्या क्या है?
एक संख्या n ब्लीक है यदि इसे किसी भी गैर-ऋणात्मक x के लिए x + x में सेट बिट्स की संख्या के रूप में व्यक्त नहीं किया जा सकता। अर्थात, किसी भी x के लिए x + set_bit_count(x) ≠ n।
उदाहरण
- n=3: 2 + set_bits(2)=2+1=3 → ब्लीक नहीं
- n=4: कोई x नहीं → ब्लीक है
उदाहरण कोड
#include <iostream>
using namespace std;
int setBitCount(int x) {
unsigned int count = 0;
while (x != 0) {
x &= (x - 1);
count++;
}
return count;
}
bool isBleakNumber(int n) {
for (int i = 1; i < n; i++)
if (i + setBitCount(i) == n)
return false;
return true;
}
int main() {
isBleakNumber(3) ? cout << "Yes\n" : cout << "No\n";
isBleakNumber(4) ? cout << "Yes\n" : cout << "No\n";
return 0;
}
आउटपुट
No Yes