Să se rezolve, în mulțimea numerelor naturale, ecuația x2-y2=k, unde k este un număr natural care se introduce de la tastatură. (Indicație: x2-y2=(x+y) x (x-y)==axb-k => x=(a+b)/2 şi y=(b-a)/2; pentru fiecare divizor a al lui k şi b-k/a se calculează x şi y, soluțiile x şi y obținute trebuind să fie numere întregi pozitive.) 3
#include <iostream>
using namespace std;
int main() {
int k;
cout << „Introduceti numarul k: „;
cin >> k;
for (int a = 1; a <= k; a++) {
if (k % a == 0) {
int b = k / a;
int x = (a + b) / 2;
int y = (b – a) / 2;
if (x > 0 && y > 0) {
cout << „Solutie: (” << x << „, ” << y << „)” << endl;
}
}
}
return 0;
}
- Citim numărul natural k de la tastatură
- Pentru fiecare divizor a al lui k, facem:
a) Calculăm b = k / a
b) Calculăm x = (a + b) / 2 și y = (b – a) / 2
c) Verificăm dacă x și y sunt numere întregi pozitive
d) Dacă da, afișăm soluția (x, y)