Pbinfo.ro #285
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
Dau coroană, să fie rezolvare de 100p, dacă puteți și explica :)
garfield3090ouqh32:
2 este exponent
Răspunsuri la întrebare
Răspuns de
4
Pai nai ce face, ai toata rezolvarea scrisa in intrebare, doar ca trebuie sa intelegi ca poti controla doar pina la sqrt(k), caci dupa se repeta.
#include <bits/stdc++.h>
using namespace std;
int k;
int main()
{
cin >> k;
for(int i=1;i<=int(sqrt(k));i++)
if(sqrt(k-i*i)==int(sqrt(k-i*i)) and i<=sqrt(k-i*i))
cout << i << ' ' << sqrt(k-i*i) << endl;
return 0;
}
#include <bits/stdc++.h>
using namespace std;
int k;
int main()
{
cin >> k;
for(int i=1;i<=int(sqrt(k));i++)
if(sqrt(k-i*i)==int(sqrt(k-i*i)) and i<=sqrt(k-i*i))
cout << i << ' ' << sqrt(k-i*i) << endl;
return 0;
}
Alte întrebări interesante
Istorie,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Engleza,
9 ani în urmă