日期:2014-05-20  浏览次数:20670 次

求教一个很基础但是我老是没想出来的关于编程语句问题
就是比如有以下2句话:
int a;
a=x+2y;
a=x-3y;
a的最后取值既可以是x+2y也可以是x-3y,
也就是说a的取值是x+2y和 x-3y的并集
而且如果a==x-3y的话,必须满足x*x+y*y>100;
如何把a表示出来呢?

------解决方案--------------------
想让程序计算来求解方程组?

恐怕不行,这只能你自己搞定。。。

两条等式合并得:2a = 2x-y
即:a = x - y/2
------解决方案--------------------
是不是用3目运算?
a=x*x+y*y>100?x-3y:x+2y;

如果不是的话, a=x+2y;a=x-3y;
那么得到 y=0;
最后简化得到a=x, 
那个约束条件 a==x-3y, 就成了 a==x, 要满足x*x+y*y>100,即x*x>100. x>10 或者x<-10.
最后的表达式就是:
if(x>10||x<-10)
a=x;

------解决方案--------------------
探讨
其实就是根据概率决定某个变量如何取值,怎么用代码表示