题目描述
输出不少于100组不同的本原勾股数: 1≤a≤b≤c≤10^3满足:a^2+b^2=c^2且gcd(a,b,c)=1
输入
无
输出
输出不少于100组不同的本原勾股数: 1≤a≤b≤c≤10^3,满足:a^2+b^2=c^2且gcd(a,b,c)=1
样例输入复制
无
样例输出复制
3 4 5 5 12 13 ....以下省略 你不必输出完全一样,输出不少于100组不同的勾股数,就可以了
#include <iostream>
#include <cmath>
#include <algorithm>
using namespace std;
bool judge(int a, int b, int c)
{
if (__gcd(a, b) == 1 && __gcd(a, c) == 1 && __gcd(b, c) == 1)
return true;
return false;
}
int main()
{
int sum = 0;
for (int i = 3; i <= 1000; i++)
{
for (int j = i + 1; j <= 1000; j++)
{
int k = (int) sqrt(i * i + j * j);
if (k > 1000) break;
if (!judge(i, j, k)) continue;
if (i * i + j * j == k * k)
{
cout << i << " " << j << " " << k << endl;
sum++;
if (sum == 100)return 0;
}
}
}
return 0;
}