sume

Time limit: 0.05s Memory limit: 8MB Input: sume.in Output: sume.out

Se consideră un număr natural nn, strict pozitiv.

Cerință

Scrieţi un program care să determine şi să contorizeze toate modalităţile de a scrie acest număr ca sumă de numere (minim două) întregi consecutive. Sumele vor fi afişate în ordinea crescătoare a numărului de elemente din sume.

Date de intrare

De pe prima linie a fişierului de intrare sume.in se citeşte numărul natural dat, nn.

Date de ieșire

Fişierul de ieşire sume.out are formatul:

  • kk
  • n1 s1n_1 \ s_1
  • n2 s2n_2 \ s_2
  • \dots
  • nkskn_k s_k

unde:

  • kk - numărul de posibilităţi de a scrie numărul nn ca sumă de termeni consecutivi
  • n1 s1n_1 \ s_1 - numărul de termeni şi primul termen pentru prima modalitate
  • n2 s2n_2 \ s_2 - numărul de termeni şi primul termen pentru a doua modalitate
  • \dots
  • nkskn_k s_k - numărul de termeni şi primul termen pentru a kk-a modalitate

Restricții și precizări

  • 0n2 147 483 6470 \leq n \leq 2 \ 147 \ 483 \ 647

Exemplu

sume.in

6

sume.out

3
3 1
4 0
12 -5

Explicație

33 posibilităţi

  • 1+2+3=61+2+3 = 6
  • 0+1+2+3=60+1+2+3 = 6
  • 54321+0+1+2+3+4+5+6=6-5-4-3-2-1+0+1+2+3+4+5+6 = 6

Log in or sign up to be able to send submissions!