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țin2
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
#include <bits/stdc++.h> using namespace std; int main() { long long int n,a; cin >> n; for(long long int i = 1 ; i <= n/2 ; i++) { a=(2*n-i-i*i)/(2*i+2); if(a>=1 && n==(i+1)*(2*a+i)/2) { for(long long int k=0 ; k <= i ; k++) { cout<<k+a<<" "; } cout<<endl; } } return 0; }