标题:求助!有一个循环函数的错误问题
只看楼主
yjcf
Rank: 1
来 自:西安工业大学
等 级:新手上路
帖 子:145
专家分:0
注 册:2008-3-29
 问题点数:0 回复次数:3 
求助!有一个循环函数的错误问题
题目如下:
已知: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();
}
结果明显不对,请问错再哪了?
搜索更多相关主题的帖子: 函数 整数 ABC 
2008-04-12 18:36
yjcf
Rank: 1
来 自:西安工业大学
等 级:新手上路
帖 子:145
专家分:0
注 册:2008-3-29
得分:0 
大概找出原因,应该是整形定义的问题,致使小数位0,因而结果便多,可怎么改呢?

泾溪石险人竞慎,终岁不闻倾覆人。却是平流无石处,时时闻说有沉论。
2008-04-12 19:25
苦中求乐
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2007-10-27
得分: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();
}

笨鸟先飞。可惜我既笨又懒!
2008-04-12 19:30
yjcf
Rank: 1
来 自:西安工业大学
等 级:新手上路
帖 子:145
专家分:0
注 册:2008-3-29
得分:0 
谢谢楼上!!

泾溪石险人竞慎,终岁不闻倾覆人。却是平流无石处,时时闻说有沉论。
2008-04-12 21:18



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-208653-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.129954 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved