# HackerEarth Set numbers problem solution

In this HackerEarth Set numbers problem solution, you are given the binary representation of a number. You must consider the highest number of set bits in the binary representation to complete your task. For example, 23 is represented as 10111 in binary and it contains four-set bits (1-bits). You are also given a number N and your task is to determine the number that is less than or equal to N and contains the maximum number of set bits in its binary representation.

In other words, print a number K that is less than or equal to N such that the number of set bits in the binary representation of K must be maximum.

## HackerEarth Set numbers problem solution.

`#include "bits/stdc++.h"using namespace std;int main(){  int t; cin>>t;  while(t--)  {    int N; cin>>N;    int ans = 1;    for(int i=1; i<32; i++)    {      int num = pow(2, i) - 1;      if(num <= N)      {        ans = num;      }    }    cout<<ans<<"\n";  }  return 0;}`

### Second solution

`#include <bits/stdc++.h>using namespace std;typedef long long ll; const int maxn = 5e5 + 14;int n;int main(){  ios::sync_with_stdio(0), cin.tie(0);  int t;  cin >> t;  while(t--){    cin >> n;    for(ll x = 1ll << 31; x >= 0; x >>= 1)      if(x - 1 <= n){        cout << x - 1 << '\n';        break;      }  }}`