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.
Răspunsuri la întrebare
Răspuns de
3
#include<iostream>#include<fstream>using namespace std;ifstream fin("sumagauss2.in");ofstream fout("sumagauss2.out");long long s,j,i,d,n,m,aux;
int main(){ fin>>s;
for(d=1; d*d<2*s; d++) if((2*s)%d==0) { aux = d + 2*s / d - 1; if(aux % 2 == 0) { n = aux / 2; m = n - d; fout<<n<<' '<<m<<'\n'; } }}
int main(){ fin>>s;
for(d=1; d*d<2*s; d++) if((2*s)%d==0) { aux = d + 2*s / d - 1; if(aux % 2 == 0) { n = aux / 2; m = n - d; fout<<n<<' '<<m<<'\n'; } }}
Alte întrebări interesante
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Geografie,
8 ani în urmă
Matematică,
9 ani în urmă
Engleza,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
#include<fstream>
using namespace std;
ifstream fin("sumagauss2.in");
ofstream fout("sumagauss2.out");
long long s,j,i,d,n,m,aux;
int main()
{
fin>>s;
for(d=1; d*d<2*s; d++)
if((2*s)%d==0)
{
aux = d + 2*s / d - 1;
if(aux % 2 == 0)
{
n = aux / 2;
m = n - d;
fout<<n<<' '<<m<<'\n';
}
}
}