Cerința
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 ≤ {10}^{15} \)
- 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
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema SumSquare:
#include <bits/stdc++.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";
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #2915 SumSquare
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #2915 SumSquare de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!