C语言程序求勾股数
RT,abc都是1-1000的自然数,且满足a的平方+b的平方=c的平方。要求打印所有abc组合。这是我写的程序,勾股数明显偏少(正确值1400多,我只有700)#inc...
RT,a b c都是1-1000的自然数,且满足a的平方+b的平方=c的平方。要求打印所有a b c组合。这是我写的程序,勾股数明显偏少(正确值1400多,我只有700)
#include "stdio.h"
#include "math.h"
void main()
{ int a=1,b,c,count=0;
for(c=1;c<=1000;c++)
{
a=1;
loop:if(a<(c/1.414))
{
b=sqrt(c*c-a*a);
if(sqrt(c*c-a*a)*sqrt(c*c-a*a)==(c*c-a*a))
{
count+=2;
printf("%d,%d,%d\n",a,b,c);
printf("%d,%d,%d\n",b,a,c);
}
a++;
goto loop;
}
}
printf("勾股组数=%d\n",count); 展开
#include "stdio.h"
#include "math.h"
void main()
{ int a=1,b,c,count=0;
for(c=1;c<=1000;c++)
{
a=1;
loop:if(a<(c/1.414))
{
b=sqrt(c*c-a*a);
if(sqrt(c*c-a*a)*sqrt(c*c-a*a)==(c*c-a*a))
{
count+=2;
printf("%d,%d,%d\n",a,b,c);
printf("%d,%d,%d\n",b,a,c);
}
a++;
goto loop;
}
}
printf("勾股组数=%d\n",count); 展开
2个回答
展开全部
#include"stdio.h"
int main(int argc, char* argv[])
{
int a,b,c,count=0;
for(a=1;a<=1000;a++)
for(b=1;b<=1000;b++)
for(c=a-b;c<a+b && c<1000;c++)
if(c*c==(a*a + b*b)){
count+=1;
printf("%d,%d,%d\n",a,b,c);
}
printf("共计有 %d 组\n",count);
system("pause");
return 0;
}
int main(int argc, char* argv[])
{
int a,b,c,count=0;
for(a=1;a<=1000;a++)
for(b=1;b<=1000;b++)
for(c=a-b;c<a+b && c<1000;c++)
if(c*c==(a*a + b*b)){
count+=1;
printf("%d,%d,%d\n",a,b,c);
}
printf("共计有 %d 组\n",count);
system("pause");
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
--
2022-12-05 广告
2022-12-05 广告
图形化编程简单理解为用积木块形式编程,scratch和python也是其中的一种,属于入门级编程,以其简单生动的画面获得无数学生的喜爱,深圳市创客火科技有限公司是一家做教育无人机的公司,旗下有编程无人机,积木无人机及室内外编队,每款飞机含有...
点击进入详情页
本回答由--提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询