早教吧 育儿知识 作业答案 考试题库 百科 知识分享

doublex=0;doubley=0;doublexd=-0.3146;doubleyd=0.2516;while(x>=-0.5){while(y>=-0.5){if((xd-x*(1-0.245346*(x*x+y*y)+0.216351*(x*x+y*y)*(x*x+y*y))+2*0.000111609*x*y+0.000799684*(y*y+3*x*x)-0.1)&&(yd-y*(1-0.245346*(x*x+y*y)+0.216351*(x*x+y*y)*(x*x+y*

题目详情
double x=0;
double y=0;
double xd=-0.3146;
double yd=0.2516;
while(x>=-0.5)
{
while(y>=-0.5)
{
if((xd-x*(1-0.245346*(x*x+y*y)+0.216351*(x*x+y*y)*(x*x+y*y))+2*0.000111609*x*y+0.000799684*(y*y+3*x*x)-0.1)&&(yd-y*(1-0.245346*(x*x+y*y)+0.216351*(x*x+y*y)*(x*x+y*y))+0.000111609*(x*x+3*y*y)+2*0.000799684*x*y-0.1))
printf("x=%f,y=%f\n",x,y );
y=y-0.00001;
}
y=0;
x=x-0.00001;
}
cout
▼优质解答
答案和解析
你的方程更换了系数,所以解的位置不在0到-0.5之间了,
我算了一下,这次的解是x=-0.326120,y=0.260949
毕竟嘛,穷举法解方程肯定得要求有个穷举范围的.我觉得这次可以从+0.5穷举到-0.5,就可以了,
也就是
double x=0.5;
double y=0.5;
后面都不用变~