Cerința
Ana a calculat suma numerelor naturale mai mici sau egale cu n
, iar Andreea suma numerelor naturale mai mici sau egale cu m
. Doamna de mate a calculat apoi diferenţa celor două sume şi a obţinut rezultatul S
.
Pentru o valoare S
dată, aflaţi toate perechile (n,m)
, cu n>m
, scriindu-le în ordine descrescătoare după n
astfel încât doamna de mate să obţină rezultatul S
.
Date de intrare
Fișierul de intrare sumagauss2.in
conține pe prima linie numărul S
.
Date de ieșire
Fișierul de ieșire sumagauss2.out
va conține pe linii diferite perechile (n,m)
, cu n>m
, în ordine descrescătoare după n
.
Restricții și precizări
1 ≤ S ≤ 2.000.000.000
Exemplu
sumagauss2.in
10
sumagauss2.out
10 9 4 0
Explicație
Avem ( 0+1+2+...+10 )-( 0+1+2+...+9 )=10
, respectiv (0+1+2+3+4)-0=10
.
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema SumaGauss2:
#include <fstream>
using namespace std;
ifstream f("sumagauss2.in");
ofstream g("sumagauss2.out");
long long s,k,d,n,m ;
int main()
{
f >> s ;
k = 2*s ;
for ( d=1 ; d*d<=k ; d++ )
if ( k%d==0 )
if ( (d+k/d)%2==1 )
{
n = ( d+k/d-1 ) / 2 ;
m = n-d ;
g << n << " " << m << "\n" ;
}
return 0;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #2021 SumaGauss2
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #2021 SumaGauss2 de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!