
int val = ((a+b) + abs(a-b))/2; // val是 max 还是 min
intval=((a+b)+abs(a-b))/2;//val是max还是min?这是什么东西。。。答案是什么...
int val = ((a+b) + abs(a-b))/2; // val是 max 还是 min ?
这是什么东西。。。答案是什么 展开
这是什么东西。。。答案是什么 展开
4个回答
展开全部
MAX
如果a>b
abs(a-b) = a-b
val = (a+b + a-b)/2 = a
如果a<b
就反过来等于b
如果a>b
abs(a-b) = a-b
val = (a+b + a-b)/2 = a
如果a<b
就反过来等于b
展开全部
abs是取绝对值。
如果a>b,那么a-b>0,所以表达式就变成了(a+b+a-b)/2=(a+a)/2=a。
如果a<b,那么a-b<0,取绝对值变成-(a-b),所以表达式变成了(a+b-a+b)/2=(b+b)/2=b。
总的来说就是取a和b中的最大值max。
如果a>b,那么a-b>0,所以表达式就变成了(a+b+a-b)/2=(a+a)/2=a。
如果a<b,那么a-b<0,取绝对值变成-(a-b),所以表达式变成了(a+b-a+b)/2=(b+b)/2=b。
总的来说就是取a和b中的最大值max。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当然是max啦,自己找几个数验算一下就知道了。
这是不用if语句来算max的一种编程技巧。
这是不用if语句来算max的一种编程技巧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
max
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询