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 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
Răspunsuri la întrebare
Răspuns de
19
#include <bits/stdc++.h>
using namespace std;
int k, lim;
int main()
{
cin >> k;
lim = sqrt(k);
for(int x = 1; x <= lim; x++) {
double y = sqrt(k - x * x);
if(y == int(y) && x <= y)
cout << x << ' ' << y << '\n';
}
return 0;
}
using namespace std;
int k, lim;
int main()
{
cin >> k;
lim = sqrt(k);
for(int x = 1; x <= lim; x++) {
double y = sqrt(k - x * x);
if(y == int(y) && x <= y)
cout << x << ' ' << y << '\n';
}
return 0;
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă