306
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ă x
2
+y
2
=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
k
utilizate î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