【题目描述】
输入两个正整数A 和 B(1<=A<=B<=1000),求A~B的所有勾股数。
什么是勾股数?勾股数就是所谓勾股数(三个数一组的),是指能够构成直角三角形三条边的三个正整数(a,b,c)。根据“勾股数”定义,所求三角形三边应满足条件a2+b2=c^2 比如:3 4 5 // 32+42=5^2 每行一组勾股数,两两用一个空格隔开。注意输出严格:A<=a<=b<=c<=B,首先按a从小到大顺序,接着再考虑b,再考虑c
【输入】
一行输入A、B两个数。
【输出】
依次输出A~B范围内的勾股数,一行输出一组
【输入样例】
2 20
【输出样例】
3 4 5
5 12 13
6 8 10
8 15 17
9 12 15
12 16 20
代码
#include<cstdio>
using namespace std;
int a,b;
int main()
{
scanf("%d%d",&a,&b);
for(int i=a;i<=b;i++)
{
for(int j=i;j<=b;j++)
{
for(int n=j;n<=b;n++)
{
if(i*i+j*j==n*n)
printf("%d %d %d\n",i,j,n);
}
}
}
return 0;
}