| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 898 人关注过本帖
标题:倒勾股数的问题!!!求高手
只看楼主 加入收藏
简单回忆
Rank: 2
来 自:郴州
等 级:论坛游民
帖 子:89
专家分:28
注 册:2011-3-19
结帖率:96.15%
收藏
已结贴  问题点数:40 回复次数:4 
倒勾股数的问题!!!求高手
A,B,C是三个小于或等于100正整数,当满足1/A^2+1/B^2=1/C^2关系时,称为倒勾股数。求130<A+B+C<150且A>B>C的倒勾股数有多少组。    1
   main()
{
double a,b,c;
int i,s=0;
clrscr();
for(a=1;a<=100;a++)                      这是我做的      程序没有显示错!!为什么没有正确的答案!!求路过的高手给小弟点建议噻
for(b=1;b<100;b++)
for(c=1;c<100;c++)
{
i=a+b+c;
if(a>b&&b>c&&i>130&&i<150&&1.0/(a*a)+1.0/(b*b)==1.0/(c*c))
s++;
}
printf("%d",s);
搜索更多相关主题的帖子: 正整数 
2011-04-28 14:10
hjywyj
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:1114
专家分:2611
注 册:2010-4-14
收藏
得分:13 
double a,b,c;
for(a=1;a<150;a++)
for(b=1;b<150;b++)
for(c=1;c<150;c++)
{if(a>b&&b>c&&a+b+c>130&&a+b+c<150)
if(1/a/a+1/b/b==1/c/c)
printf("%f,%f,%f\n",a,b,c);}
2011-04-28 14:34
『点点滴滴』
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:168
专家分:1035
注 册:2007-7-9
收藏
得分:13 
循环的a,b,c是int型
    if(a>b&&b>c&&i>130&&i<150&&fabs(1.0/(a*a)+1.0/(b*b) - 1.0/(c*c) ) < 1e-6)
不要用==号判断浮点数
2011-04-28 14:39
hjywyj
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:1114
专家分:2611
注 册:2010-4-14
收藏
得分:0 
以下是引用『点点滴滴』在2011-4-28 14:39:10的发言:

循环的a,b,c是int型
    if(a>b&&b>c&&i>130&&i<150&&fabs(1.0/(a*a)+1.0/(b*b) - 1.0/(c*c) ) < 1e-6)
不要用==号判断浮点数
用==判断有错吗?那么这样可以吧?if(!(1/a/a+1/b/b-1/c/c))
2011-04-28 15:17
kwxx
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:309
专家分:913
注 册:2009-5-11
收藏
得分:13 
在VC6.0下你的程序可以出结果,不过慢了一点。下面的稍快一些。

#include <stdio.h>
void  main()
{  
   int a,b,c;

   for(c=1;c<=100;c++)
    for(b=c+1;b<=100;b++)
        for(a=b+1;a<=100;a++)
            if(130<a+b+c && a+b+c<150 && 1.0/(a*a)+1.0/(b*b)==1.0/(c*c))
                printf("%d, %d, %d\n",a,b,c);

}
2011-04-28 21:05
快速回复:倒勾股数的问题!!!求高手
数据加载中...
 
   



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

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