Problema SumSquare #2915 de pe pbinfo va rog:
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≤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
Răspunsuri la întrebare
Răspuns de
6
Răspuns:
#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";
}
Explicație:
laurstefan2002:
Ma poti ajuta cu inca 2 probleme?
Alte întrebări interesante
Engleza,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Istorie,
9 ani în urmă
Limba română,
9 ani în urmă