👤

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ăspuns :

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:

Vă mulțumim că ați vizitat site-ul nostru web care acoperă despre Informatică. Sperăm că informațiile furnizate v-au fost utile. Nu ezitați să ne contactați dacă aveți întrebări sau aveți nevoie de asistență suplimentară. Ne vedem data viitoare și nu ratați să marcați.


Zone Alte intrebari