不是很难的一道c语言题

来源:百度知道 编辑:UC知道 时间:2024/06/08 04:40:39
已知a>b>c,且a+b+c<100,求满足条件1/(a^2)+1/(b^2)=1/(c^2)的共有多少组。
高手们帮帮忙。今晚就要,绝对加分。。
abc是整数

结果是两组整数解:
a=20,b=15,c=12
a=40,b=30,c=24
程序代码:
#include <stdio.h>
#include <stdlib.h>
long JiShuJieCheng(int i);
int main(int argc, char *argv[])
{
int a,b,c;
for(a=1;a<100;a++)
{
for(b=1;b<a;b++)
{
for(c=1;c<b;c++)
{
if(a+b+c>100) continue;
if(b*b*c*c+a*a*c*c==a*a*b*b)//修改等式形式,避免浮点运算
printf("a=%d,b=%d,c=%d\n",a,b,c);
}
}
}

system("PAUSE");
return 0;
}

避免浮点除法 变换为 bbcc+aacc=aabb

#include "stdio.h"

int main(void)
{
long a, b, c;

for (c = 1; c <= 33; c++)
{
for (b = c + 1; b <= 33; b++)
{
for (a = b + 1; a <= 33; a++)
{
if (a + b + c < 100 && b * b * c * c + a * a * c * c == a * a * b * b)
{
printf("a = %d,b = %d,c = %d