Buna seara!
Trebuie sa realizez un program pentru a afisa tripletele x, y, z care sunt pitagorice xpatrat+ypatrat=zpatrat si pentru care cmmdc(x, y)=1.
cmmdc (x, y)=1 rezulta numerele sunt prime intre ele.
M-ati putea ajuta, dandu-mi o idee despre cum sa scriu acest lucru in C++?
Va multumesc!
Creezi o functie care calculeaza cmmdc-ul si returneaza 1 daca numerele sunt prime intre ele sau zero in caz contrar. Functia primeste 2 parametrii.
De asemenea, mai creezi o functie care verifica daca numerele sunt pitagorice. Functia primeste in acest caz 3 parametrii si returneaza 1 daca se respecta conditia aferenta sau zero in caz contrar.
In main, intr – un for cu 3 contoare, verifici daca se indeplinesc conditiile (utilizezi cele doua functii). Ideea e cum incrementezi contoarele…
Ar tb sa mentionezi ptr numerele x,y,z care e marginea superioara si care e cea inferioara… sa evitam sa facem calcule inutile.
Problema trebuie analizata foarte atent…ar trebui luate niste cazuri in care sa gasesti o regula, ceva de care sa te legi. E posibil ca variabilele sa creasca cu o anumita valoare si astfel lucrurile se simplifica foarte mult.
Exista o infinitate de triplete pitagorice. Ieri am vazut si eu regula de generare a tripletelor. Deci un triplet x^2 + y^2 = z^2 are urmatoarea regula: x=2uv, y=u^2-v^2, z=u^2+v^2 unde u si v sunt alese arbitrar (nu stiu daca exista extinderea la numere reale, dar daca u si v sunt naturale sigur merge ). Te poti convinge de formula inlocuind x, y si z cu formulele de mai sus.