# PBinfo #352 – SumCons – Rezolvare C++

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

## Enunț

Cerinţa
Se citește numărul natural nenul n. Determinați toate modalitățile de a-l scrie pe n ca sumă de cel puțin două numere naturale consecutive nenule.

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

Date de ieşire
Programul afișează pe ecran descompunerile cerute, câte o descompunere pe o linie a ecranului, în ordine crescătoare a numărului de termeni din descompunere, termenii unei descompuneri fiind scriși în ordine crescătoare și separați prin exact un spațiu.

Restricţii şi precizări

1 ≤ n ≤ 10.000.000
pentru fiecare test, numărul n se poate scrie ca sumă de cel puțin 2 numere naturale consecutive nenule în cel puțin un mod.

Exemplu:
Date de intrare

30
Date de ieșire

9 10 11 
6 7 8 9 
4 5 6 7 8

## Cod sursă C++

```cpp
#include <iostream>
using namespace std;
int main() {
    int n, i = 1, S = 0;
    cin >> n;
    while (S <= n) {
        i++;
        S = i * (i - 1) / 2;
        int p = n - S;
        if (p > 0 && p % i == 0) {
            for (int j = 0; j < i; ++j)
                cout << p / i + j << " ";
            cout << "\n";
        }
    } return 0;
}
```

## Resurse

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