c语言: 已知a、b、c为正整数,a>b>c,且a+b+c<150,求满足 1/(a*a)+1/(b*b)=1/(c*c)的共有多少组。 10
#include"stdio.h"main(){inta,b,c,cout=0;for(c=1;c<150;c++)for(b=c+1;b<150;b++)for(___...
#include "stdio.h"
main()
{int a,b,c,cout=0;
for(c=1;c<150;c++)
for(b=c+1;b<150;b++)
for(_____________)
if(_____________)
cout++;
printf("%d\n",cout);
} 展开
main()
{int a,b,c,cout=0;
for(c=1;c<150;c++)
for(b=c+1;b<150;b++)
for(_____________)
if(_____________)
cout++;
printf("%d\n",cout);
} 展开
4个回答
展开全部
#include "stdio.h"
main()
{int a,b,c,cout=0;
for(c=1;c<150;c++)
for(b=c+1;b<150;b++) //1 、
if(1.0/(a*a)+1.0/(b*b)==1.0/(c*c) ) //2、
cout++;
printf("%d\n",cout);
}
/*1、因为a>b>c都是整数所以b=c+1是b的下限值;同理 a=b+1;是a的下限值;,且a<150;其实这里a<150-b-c更准确。两个的运算结果都是一样的,都是正确的;只是a<150时计算机运算多几步而已;a++;表示自增;*/
/*2、if里面的表达式就是用来判断1/(a*a)+1/(b*b)=1/(c*c)等式是否成立;注意:表达式中应该用1.0而不是1;否则,不管a、b、c取哪个整数等式两边都是为零;对所有的a、b、c都成立;==是用于判断等式左右是否相等;= 则是赋值*/
main()
{int a,b,c,cout=0;
for(c=1;c<150;c++)
for(b=c+1;b<150;b++) //1 、
if(1.0/(a*a)+1.0/(b*b)==1.0/(c*c) ) //2、
cout++;
printf("%d\n",cout);
}
/*1、因为a>b>c都是整数所以b=c+1是b的下限值;同理 a=b+1;是a的下限值;,且a<150;其实这里a<150-b-c更准确。两个的运算结果都是一样的,都是正确的;只是a<150时计算机运算多几步而已;a++;表示自增;*/
/*2、if里面的表达式就是用来判断1/(a*a)+1/(b*b)=1/(c*c)等式是否成立;注意:表达式中应该用1.0而不是1;否则,不管a、b、c取哪个整数等式两边都是为零;对所有的a、b、c都成立;==是用于判断等式左右是否相等;= 则是赋值*/
展开全部
循环部分可稍作调整:
for(c=1;c<49;c++)
for(b=c+1;b<74;b++)
for(a=b+1;a+b+c<150;a++)
if(1/(a*a)+1/(b*b)==1/(c*c))
cout++;
for(c=1;c<49;c++)
for(b=c+1;b<74;b++)
for(a=b+1;a+b+c<150;a++)
if(1/(a*a)+1/(b*b)==1/(c*c))
cout++;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
若只填空,不调整已有程序的话,楼上的填法也对,只是多劳累一下计算机了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
(c=b+1;c<150;c++)
1/(a*a)+1/(b*b)=1/(c*c)
1/(a*a)+1/(b*b)=1/(c*c)
更多追问追答
追问
我也这样想的 但结果很无情
追答
是不是语法有问题,可惜我好久没接触c了,那个表达式可以那样写吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询