#include <iostream>
using namespace std;
int gcd(int a, int b)
{
return(0 == a ? b : gcd(b % a, a));
}
void pythagorean(int maxa)
{
for (int a = 1; a <= maxa; ++a)
{
int a2 = a * a;
int minb = a + 1;
int maxb = (a2 - 1) / 2;
for (int b = minb; b <= maxb; ++b)
{
if (1 != gcd(a, b))
{
continue;
}
int b2 = b * b;
int minc = b + 1;
int maxc = a + b - 1;
for (int c = minc; c <= maxc; ++c)
{
int c2 = c * c;
int a2plusb2 = a2 + b2;
if (a2plusb2 == c2)
{
cout << "(" << a << ", " << b << ", " << c << ")" << endl;
}
if (a2plusb2 <= c2)
{
break;
}
}
}
}
}
int main()
{
pythagorean(100);
return(0);
}
打印满足勾股定理的互素的整数a,b,c
最新推荐文章于 2022-04-17 15:57:21 发布