习题5_20毕达哥拉斯三元组

/*
一个直角三角形的边长可以都是整数,此时这组代表边长的整数就
称为一个毕达哥拉斯三元组。直角三角形三条边的边长必须满足关系:
两直角的平方和等于斜边的平方。请编写程序,要求寻找出三个值(
用变量side1和side2分别表示两个直角边,用变量hypotenuse代表
斜边)都不大于500的所有毕达哥拉斯三元组。
请使用一个三层嵌套的for循环来尝试所有可能性
*/

#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
	cout << "毕达哥拉斯三元组:" << endl;
	int side1,side2,hypotenuse;//直角三角形的两直角边与斜边;
	for(hypotenuse=1;hypotenuse<=500;hypotenuse++)
		for(side1=1;side1<hypotenuse;side1++)
			for(side2=1;side2<side1;side2++)
			{
				if(hypotenuse*hypotenuse == side1*side1 + side2*side2)
					cout  << setw(4) << side2 << setw(4) << side1 << setw(4) << hypotenuse 
					        << endl;
			}
	system("pause>>cout");
	return 0;
}

猜你喜欢

转载自jia-shun.iteye.com/blog/2066557
今日推荐