fbpx

Problema #831 – Generare3 – Rezolvari PBInfo

de Mihai-Alexandru

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

S-ar putea sa iti placa