打印满足勾股定理的互素的整数a,b,c

来源:互联网 发布:js中字符串比较 编辑:程序博客网 时间:2024/06/03 19:24
#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);}
原创粉丝点击