368
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
nse poate scrie ca sumă de cel puțin2numere 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;
}
Comentarii