Piszę program który po wprowadzeniu danej liczby całkowitej, wypisuje trójki Pitagorejskie stowrzone z liczb mniejszych od tej wprowadzonej, samemu wymyśliłem coś takiego ale nie działa kompletnie i nie potrafię stwierdzić dlaczego
#include <iostream>
using namespace std;
int main() {
cout << "Podaj liczbę: ";
unsigned int n;
cin >> n;
for(unsigned int a=1, b=1, c=1; a<=n, b<=n, c<=n;)
{
if(a*a+b*b==c*c)
{
cout << a << " " << b << " " << c << endl;
}
a++;
if(a*a+b*b==c*c)
{
cout << a << " " << b << " " << c << endl;
}
c++;
if(a*a+b*b==c*c)
{
cout << a << " " << b << " " << c << endl;
}
b++;
}
return 0;
}
Zacząłem szukać na internecie i znalazłem coś takiego
#include <iostream>
using namespace std;
int main() {
cout << "Podaj: ";
int a, b, c, n;
cin >> n;
a = 0;
b = 0;
c = 0;
for (a = 1; a<n; a++)
for (b = 1; b<n; b++)
for (c = 1; c<n; c++)
if ( (a*a) + (b*b) == (c*c))
{
{
cout << a << " " << b << " " << c << endl;
}
}
return 0;
}
Tylko mam problem bo kompletnie nie rozumiem w jaki sposób działają te pętle kiedy są zapisane pod sobą i nie mogę tego też nigdzie znależć.
Byłbym wdzięczny gdyby ktoś mógł mi powiedzieć czy ten pierwszy kod ma prawo działać albo w jaki sposób działa ten drugi.