信息學奧賽C++語言: 趣味整數5(勾股數)

【題目描述】
輸入兩個正整數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;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章