Informatică, întrebare adresată de sandrumariaolga, 8 ani în urmă

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 Utilizator anonim
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';            }        }}





Utilizator anonim: #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';
}
}
}
Alte întrebări interesante