🎉 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;
}