信息学奥赛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;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章