Se dă numărul natural n. Determinați dacă numărul se poate scrie ca sumă de două pătrate perfecte. Dacă da, afișați două pătrate perfecte a căror sumă este n, în ordine crescătoare, sau mesajul NU în caz contrar.
Date de intrare
Programul citește de la tastatură numărul n;
Date de ieșire
Programul va afișa pe ecran cele 2 pătrate care alcătuiesc numărul sau mesajul NU în cazul în care nu există.
Restricții și precizări
1≤n≤1015
dacă există mai multe perechi de pătrate perfecte a căror sumă este n, poate fi afișată oricare
Exemplu
Intrare
169
Ieșire
25 144
SOLUTIE
#include <iostream> #include<math.h> using namespace std; int main() { unsigned long long n; double r; cin>>n; for(unsigned long long i = 1; i * i <= n;i++) { r=sqrt(n-i*i); if((unsigned long long)r==r) { if(r*r+i*i) { cout<<i*i<<" "<<n-i*i; return 0; } } } cout<<"NU"; }