在直角三角形中,两个直角边的平方和等于斜边的平方,也就是非常著名的“勾股定理”,那么这100以内的数字中,就存在着这样的一些数,比如:3,4,5,3的平方加上4的平方等于5的平方,这三个数就可以组成一个直角三角形。
现在我们要求出这些数(要求相同度数的直角三角形的三条边使用最小值,比如:6,8,10就要变成3,4,5)。
#include "stdio.h"
#include "math.h"
int gcd(int a,int b)
{
if (a<b) {int temp=a; a=b; b=temp;}
if (a%b==0) return b;
else return gcd(b,a%b);
}
int pfs(int a)
{
if (pow(((int)(sqrt(a*1.0)))*1.0,2)==a)
return 1;
else return 0;
}
void main()
{
for(int i=1;i<100;i++)
for(int j=i+1;j<100;j++)
if(i*i+j*j<10000 && gcd(i,j)==1 && pfs(i*i+j*j)==1)
printf("length: %d\t width: %d\t, edge: %d\n",i,j,(int)sqrt(i*i+j*j+0.0));
getchar();
}