Să se determine toate cvadruplele de numere naturale (x,y,z,n) care îndeplinese simultan condiţiile: n>=3, 1<=x<=y<=z<=m şi xn+yn=zn unde m se citeşte de la tastatură. 24
#include <iostream>
using namespace std;
int main() {
int m;
cout << „Introduceti valoarea lui m: „;
cin >> m;
for (int n = 3; n <= m; n++) {
for (int x = 1; x <= m; x++) {
for (int y = x; y <= m && y >= n; y++) {
for (int z = y; z <= m; z++) {
if (x * x + y * y == z * z) {
cout << „(” << x << „,” << y << „,” << z << „,” << n << „)” << endl;
}
}
}
}
}
return 0;
}
Pentru a găsi toate cvadruplele de numere naturale (x, y, z, n) care îndeplinesc condițiile date, putem folosi patru bucle for îmbricate. Prima buclă for va itera prin toate valorile posibile pentru x, a doua buclă for va itera prin toate valorile posibile pentru y (începând de la x pentru a evita dublarea triplurilor), a treia buclă for va itera prin toate valorile posibile pentru z (începând de la y pentru a evita dublarea triplurilor), iar a patra buclă for va itera prin toate valorile posibile pentru n (începând de la 3 pentru a îndeplini condiția n>=3).
În fiecare iterație a buclei interioare, verificăm dacă xn + yn este egal cu zn. Dacă condiția este îndeplinită, afișăm cvadrupla (x, y, z, n).
Pentru a evita dublarea cvadruplurilor, putem pune o condiție suplimentară în bucla for a doua, care verifică dacă y este mai mare sau egal cu n.