Sunteți pe pagina 1din 1

Fiierul date.in conine pe unica sa linie un numr natural n (n 1000000000).

. S se determine toate reprezentrile posibile ale acestui numr ca sum de numere naturale nenule consecutive. Aceste reprezentri vor fi scrise n fiierul date.out, cte una pe fiecare linie a fiierului; numerele din cadrul fiecrei reprezentri vor fi separate prin spaii. Ex. date.in 15 date.out 1 2 3 4 5 4 5 6 7 8 date.out 8 9 10 11 12 11 12 13 14

date.in 50

var n,x,i,j,s,k:longint; v:array[1..1000] of longint; begin assign(input,'date.in');reset(input); assign(output,'date.out');rewrite(output); read(n); for i:=1 to n div 2 do begin s:=0; k:=0; j:=i; repeat s:=s+j; inc(k); v[k]:=j; inc(j); until s>=n; if (s=n) and (k>=2) then begin for x:=1 to k do write(v[x],' '); writeln; end; end; close(input); close(output); end.

S-ar putea să vă placă și