9.
例如:32 + 42 = 9 + 16 = 25 = 52.已知存在并且只存在一个毕达哥拉斯三元组满足条件a + b + c = 1000。找出该三元组中abc的乘积。
代码:
#include<stdio.h>
#include<math.h>
void main()
{
int a, b, c,t;
for(a = 3;a<500;a++) //a = 3 起递增
{
for(b = a+1;b<500;b++) // b = a + 1 起递增 应为 b > a
{
t = a*a+b*b; //t = a 的平方 + b 的平方
c = sqrt(t); // c = t 的平方根
if(c*c==t) //如果 c 的平方 = t 说明 a^2+b^2=c^2成立
{
if(a + b + c == 1000) //判断三个数的和是否为1000
{
printf("%d^2 + %d^2 = %d^2 %d * %d * %d = %d\n\n",a, b, c, a, b, c, a*b*c);
goto s;
}
}
}
}
s:printf("\n");
}