C++编程求解方程!!

用C++编程求满足x*x+y*y+z*z=55*55(x>y>z,x,y,z为整数)的所有解中,|x+y+z|的最小值,以及对应的x,y,z的值。谢谢!麻烦给个具体代码好... 用C++编程求满足x*x+y*y+z*z=55*55 (x>y>z,x,y,z为整数)的所有解中,|x+y+z|的最小值,以及对应的x,y,z的值。谢谢!
麻烦给个具体代码好不好?因为还要注意一些细节问题,谢谢啦~
展开
 我来答
百度网友826d391
2011-10-16 · TA获得超过670个赞
知道小有建树答主
回答量:573
采纳率:0%
帮助的人:385万
展开全部
//用C++编程求满足x*x+y*y+z*z=55*55 (x>y>z,x,y,z为整数)的所有解中,|x+y+z|的最小值,以及对应的x,y,z的值。谢谢!
#include <iostream>
#include<math.h>
using namespace std;
void main()
{
int x,y,z,min=150;
int a,b,c;
for(x=-55;x<55;x++)
for(y=-55;y<55;y++)
for(z=-55;z<55;z++)
{
if ((x*x+y*y+z*z==55*55)&&(x>y)&&(y>z))
{
if(fabs(x+y+z)<min)//求绝对值
{
min=fabs(x+y+z);
a=x;
b=y;
c=z;
}

}
}
cout<<"|x+y+z|的最小值为:"<<min<<endl;

cout<<a<<" "<<b<<" "<<c<<endl;
}
追问
可以解释一下为什么min初值是150吗?
追答
min是我初始化|X+Y+Z|的一个值,你想啊 X,Y,Z不可能每个都大于55吧,所以我应该把它设置为165, 哦 ,我算错了。 没事,然后和满足方程的值比较,后面满足方程的值肯定比我初始化的值小,所以 我就将满足方程的值而且比min小的值重新赋给min,直到循环结束后,min的值肯定最小
緗虞帱
2011-10-16 · TA获得超过578个赞
知道小有建树答主
回答量:298
采纳率:0%
帮助的人:366万
展开全部

看图!

追问
亲,x,y,z可能是负数的,而且要求的是x+y+z的绝对值最小……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
569372985
2011-10-16 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:163
采纳率:0%
帮助的人:87万
展开全部
双重循环下,再判断即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式