Rezolvare completă PbInfo #285 x2y2k

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 ≤ 1.000.000.000
  • 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

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 x2y2k:

#include <iostream>
#include <cmath>
using namespace std;

int main(){
    int k , x , y;
    cin >> k;
    
    // vom cauta solutia
    // dam lui x valori cu sanse si il xexprimam pe y din ecuatie. 
    // Daca este numar natural, afisam perechea x y
    
    for( x = 1 ; x * x <= k / 2 ; ++x){
        int z = k - x * x;
        y = sqrt(z);
        if(z == y * y)
            cout << x << " " << y << "
";
    }
    return 0;
}

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 Adresa de email.

Rezolvarea problemei #285 x2y2k

Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #285 x2y2k 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!