| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2517 人关注过本帖
标题:1000 以内勾股数
只看楼主 加入收藏
xyelyleh2
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-4-28
收藏
 问题点数:0 回复次数:27 
1000 以内勾股数

1. 编程找出1000以内的满足勾股定理 a^2+b^2=c^2的整数组(a,b,c)。

搜索更多相关主题的帖子: 勾股数 
2006-05-04 23:08
ninanwine
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2006-5-1
收藏
得分:0 
疯子啊,一大篇啊!

用0-1统治世界!
2006-05-04 23:20
ninanwine
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2006-5-1
收藏
得分:0 
main()
{
int a,b,c,n=0;
for(a=1;a<=1000;a++)
for(b=a;b<=1000;b++)
for(c=1;c<=1000;c++)
if(a*a+b*b==c*c)
{
printf("%3d,%3d,%3d",a,b,c);
n++;

if(n==3)
{
printf("\n");
n=0;
}
}

}

用0-1统治世界!
2006-05-04 23:31
飞跃无限
Rank: 1
等 级:新手上路
威 望:1
帖 子:180
专家分:0
注 册:2006-4-16
收藏
得分:0 
#include <stdio.h>
void main()
{
int a,b,c,n=0;
for(a=1;a<=1000;a++)
for(b=a;b<=1000;b++)
for(c=(a<b?a:b);c<=1000;c++)//这样效率可能会更高点的哦!!!
if(a*a+b*b==c*c)
{
if(n%3==0)
putchar('\n');
printf("%4d%4d%4d,",a,b,c);
n++;

}

}
2006-05-05 03:15
ninanwine
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2006-5-1
收藏
得分:0 

高见!


用0-1统治世界!
2006-05-05 04:00
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 
四楼的改成这样,不过似乎没什么非常好的算法
[CODE]
#include <stdio.h>
int main()
{
int a,b,c,n=0;
for(a=3;a<1000;a++)
for(b=a+1;b<1000;b++)
for(c=b+1;c<=1000;c++)
if(a*a+b*b==c*c)
{
n++;
printf("%5d%5d%5d,",a,b,c);
if(n%3==0)
putchar('\n');
}
return 0;
}
[/CODE]

叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2006-05-05 04:21
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 

以下是引用xyelyleh2在2006-5-4 23:08:00的发言:

1 编程找出1000以内的满足勾股定理 a^2+b^2=c^2的整数组(a,b,c)。

题目不赖,几个跟帖都差劲。有个数学公式:

(a*a-b*b)^2+(2*a*b)^2==(a*a+b*b)^2

当然,光靠它找不全。Think it over!


落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-05-05 06:28
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 

楼上建议没用武之地

没有一个可以找全的公式


叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2006-05-05 06:30
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 

用一个公式又找不全,再找漏的更麻烦,何况(3,4,5)
这种乘倍也是可以的(6,8,10)。。。。

但都找不全


叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2006-05-05 06:31
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 
/*不开方,也能判完全平方数但愿这个小工具有助于找勾股数*/
#include<stdio.h>
void main()
{ unsigned long x,y0,y1;
scanf("%ld",&x);
y1=x/2;
do
{
y0=y1;
y1=(y0+x/y0)/2;
}
while(y1<y0);
if(y1*y1==x)printf("yes\n");
else printf("no \n");
}

落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-05-05 06:36
快速回复:1000 以内勾股数
数据加载中...
 
   



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

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