🎉 One-stop destination for all your technical interview Preparation 🎉
Given a positive integer n, print all n-bit binary numbers having more 1’s than 0’s for any prefix of the number.
Main function.
Recursive function.
#include <bits/stdc++.h>
using namespace std;
void solve(int one, int zero, int n, string op)
{
    if (n == 0)
    {
        cout << op << ' ';
        return;
    }
    string op1 = op;
    op1.push_back('1');
    solve(one + 1, zero, n - 1, op1);
    if (one > zero)
    {
        string op2 = op;
        op2.push_back('0');
        solve(one, zero + 1, n - 1, op2);
    }
}
int main()
{
    int n;
    cin >> n;
    string op = "";
    int one = 0;
    int zero = 0;
    solve(one, zero, n, op);
    return 0;
}