Cerința
Se dă un număr natural n. Să se genereze, în ordine lexicografică, toate șirurile de cifre binare de lungime n.
Date de intrare
Programul citește de la tastatură numărul n
Date de ieșire
Programul va afișa pe ecran șirurile generate, câte unul pe o linie; între elementele unui șir nu sunt spații.
Restricții și precizări
1 ≤ n ≤ 10
Exemplu
Intrare
3
Ieșire
000 001 010 011 100 101 110 111
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin >> n;
for(int i = 0 ; i <= 1 ; ++i)
{
if(n==1)
cout << i << endl;
else
for(int j = 0 ; j <= 1 ; j++)
{
if(n==2)
cout << i << j << endl;
else
for(int r = 0 ; r <= 1 ; ++r)
{
if(n==3)
cout << i << j << r <<endl;
else
for(int p = 0 ; p <= 1 ; ++p)
{
if(n==4)
cout << i << j << r << p << endl;
else
for(int k = 0 ; k <= 1 ; ++k)
{
if(n==5)
cout << i << j << r << p << k << endl;
else
for(int q = 0 ; q <= 1 ; ++q)
{
if(n==6)
cout << i << j << r << p << k << q << endl;
else
for(int s = 0 ; s <= 1 ; ++s)
{
if(n==7)
cout << i << j << r << p << k << q << s << endl;
else
for(int t = 0 ; t <= 1 ; ++t)
{
if(n==8)
cout << i << j << r << p << k << q << s << t << endl;
else
for(int u = 0 ; u <= 1 ; ++u)
{
if(n==9)
cout << i << j << r << p << k << q << s << t << u << endl;
else
for(int v = 0 ; v <= 1 ; ++v)
cout << i << j << r << p << k << q << s << t << u << v << endl;
}
}
}
}
}
}
}
}
}
}#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin >> n;
for(int i = 0 ; i <= 1 ; ++i)
{
if(n==1)
cout << i << endl;
else
for(int j = 0 ; j <= 1 ; j++)
{
if(n==2)
cout << i << j << endl;
else
for(int r = 0 ; r <= 1 ; ++r)
{
if(n==3)
cout << i << j << r <<endl;
else
for(int p = 0 ; p <= 1 ; ++p)
{
if(n==4)
cout << i << j << r << p << endl;
else
for(int k = 0 ; k <= 1 ; ++k)
{
if(n==5)
cout << i << j << r << p << k << endl;
else
for(int q = 0 ; q <= 1 ; ++q)
{
if(n==6)
cout << i << j << r << p << k << q << endl;
else
for(int s = 0 ; s <= 1 ; ++s)
{
if(n==7)
cout << i << j << r << p << k << q << s << endl;
else
for(int t = 0 ; t <= 1 ; ++t)
{
if(n==8)
cout << i << j << r << p << k << q << s << t << endl;
else
for(int u = 0 ; u <= 1 ; ++u)
{
if(n==9)
cout << i << j << r << p << k << q << s << t << u << endl;
else
for(int v = 0 ; v <= 1 ; ++v)
cout << i << j << r << p << k << q << s << t << u << v << endl;
}
}
}
}
}
}
}
}
}
}