384
Cerinţa
Se dă un număr natural, k. Să se determine toate perechile de numere naturale nenule x, y (x<=y), cu proprietatea că x2+y2=k .
Date de intrare
Programul citește de la tastatură numărul k.
Date de ieşire
Programul afișează perechile x, y determinate, câte o pereche pe o linie a ecranului, în ordinea crescătoare a valorii lui x.
Restricţii şi precizări
2 ≤ k ≤ 1000000000- pentru toate valorile lui
kutilizate în teste există cel puţin o soluţie
Exemplu
Date de intrare
1000000
Date de ieșire
280 960 352 936 600 800
#include <bits/stdc++.h>
using namespace std;
int main()
{
unsigned long long int n;
cin >> n;
for (int i = 1 ; i * i <= n; ++i)
{
double x=i*i;
double y=sqrt(n-i*i);
if (x<y*y)
if (y==(int)y) cout << sqrt(x) << ' ' << y << endl;
}
return 0;
}
Comentarii