# PBinfo #3348 – sumaputeri2 – Rezolvare C++

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

## Enunț

Cerința
Se dă un număr natural n. Descompuneți numărul n ca sumă de puteri ale lui 2.

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

Date de ieșire
Programul va afișa pe ecran, în ordine crescătoare, separate prin câte un spațiu, puterile lui 2 care au suma n.

Restricții și precizări

1 ≤ n < 231

Exemplu:
Intrare

43
Ieșire

1 2 8 32

## Cod sursă C++

```cpp
#include <bits/stdc++.h>
using namespace std;
int v[101], poz;
int main() {
    int n; cin >> n;
    while (n != 0) {
        v[++poz] = n % 2;
        n = n / 2;
    } int temp = 1;
    for (int i = 1; i <= poz; i++) {
        if (v[i] == 1)
            cout << temp << " ";
        temp = temp * 2;
    } return 0;
}
```

## Resurse

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