求助!有一个循环函数的错误问题
题目如下:已知:A>B>C>0,ABC为整数,且A+B+C<100,求满足1/(A*A)+1/(B*B)=1/(C*C)
的A,B,C共有多少组?
我的代码如下:
#include "stdio.h"
#include "math.h"
void main()
{
int a,b,c,x=0;
float m,n;
for(a=1;a<100;a++)
for(b=1;b<a;b++)
for(c=1;c<b;c++)
{
if(a+b+c<100&&1/(a*a)+1/(b*b)==1/(c*c))
printf("A=%d,B=%d,C=%d\n",a,b,c);
x=x+1;
}
printf("满足条件的A,B,C共有%d组",x);
getch();
}
结果明显不对,请问错再哪了?
----------------解决方案--------------------------------------------------------
大概找出原因,应该是整形定义的问题,致使小数位0,因而结果便多,可怎么改呢?
----------------解决方案--------------------------------------------------------
#include "stdio.h"
#include "math.h"
void main()
{
int a,b,c,x=0;
float m,n;
for(a=1;a<100;a++)
for(b=1;b<a;b++)
for(c=1;c<b;c++)
{
if(a+b+c<100&&1.0/(a*a)+1.0/(b*b)==1.0/(c*c))
{
printf("A=%d,B=%d,C=%d\n",a,b,c);
x=x+1;
}
}
printf("满足条件的A,B,C共有%d组",x);
getch();
}
----------------解决方案--------------------------------------------------------
谢谢楼上!!
----------------解决方案--------------------------------------------------------