1、请保证a < b < c,输出格式:a b c;
2、多组勾股数元祖请按照a升序,b升序,最后c升序的方式排序输出;
3、给定范围中如果找不到勾股数元祖时,输出"NA"。
示例:
输入
1
20
输出
3 4 5
5 12 13
8 15 17
算法实现:
int Is_Prime(int x,int y)
{
if (x%y == 0) return y;
else return Is_Prime(y, x%y);
}
int Find_Pythagorean(int N,int M)
{
int flag = 0;
for (int i = N; i <= M; i++)
{
for (int j = i+1; j <= M; j++)
{
for (int k = i + 2; k <= M; k++)
{
if (k *k == i * i + j * j)
{
if (Is_Prime(i, j) == 1 && Is_Prime(i, k) == 1 && Is_Prime(j, k) == 1)
{
flag = 1;
if (i < j&&j < k) printf("%d %d %d\n", i, j, k);
}
}
}
}
}
if (flag == 0) printf("NA\n");
return 0;
}