【題目描述】
輸入兩個正整數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;
}