# PBinfo #3247 – subimp1 – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: andrei

## Enunț

Cerința
Se citește un număr natural n. Afișați în ordine lexicografică toate submulțimile mulțimii {1, 2, ..., n} care sunt formate dintr-un număr impar de elemente.

Date de intrare
Programul citește de la tastatură numărul n.

Date de ieșire
Programul va afișa pe ecran submulțimile cerute, câte una pe fiecare rand și având elementele separate prin câte un spaţiu.

Restricții și precizări

1 ≤ n ≤ 19

Exemplu:
Intrare

4
Ieșire

1 
1 2 3 
1 2 4 
1 3 4 
2 
2 3 4 
3 
4

## Cod sursă C++

```cpp
#include <iostream>
using namespace std;
int n,X[22];
void afisare(int k)
{
    for(int i=1;i<=k;i++)
        cout<<X[i]<<" ";
    cout<<'\n';
}
void back(int k)
{
    for(int i=X[k-1]+1;i<=n;i++)
    {
        X[k]=i;
        if(k%2==1) afisare(k);
        back(k+1);
    }
}
int main()
{
    cin>>n;
    back(1);
    return 0;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/3247)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/3247/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-3247/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
