论坛首页 Java企业应用论坛

不用判断语句求俩数中的大(或者小)数

浏览 47979 次
精华帖 (0) :: 良好帖 (16) :: 新手帖 (3) :: 隐藏帖 (1)
作者 正文
   发表时间:2009-12-11  
比较两个数,用一个数组,是不是有些浪费,假如a和b的值是很大的数呢
0 请登录后投票
   发表时间:2009-12-11  
用眼睛,而且只需一只就足够。
0 请登录后投票
   发表时间:2009-12-11  
jiyanliang 写道
题目不让用if判断的根本原因我想就是想让你用最少的语句来实现这个功能吧,你弄个异常和if判断有什么区别啊。
就是啊
0 请登录后投票
   发表时间:2009-12-11  
用三目允许吧?
int getBigNumber(int a,int b)
{
    return a>=b?a:b;
}
0 请登录后投票
   发表时间:2009-12-11  
完全是吃饱了撑的,工作的时候一定要记住,用最简单的方式来做事
0 请登录后投票
   发表时间:2009-12-11  
楼主的思维方式还是比较好的,虽然IT行业数学基础也挺重要的,但是我觉得思考问题的方式也重要。
这道题,我觉得是考思维方式,如果说要考数学基础的话,那这道题的答案就海量了。
0 请登录后投票
   发表时间:2009-12-12  
可以用三元表达式,语句是少,不过还是有判断
0 请登录后投票
   发表时间:2009-12-12  
superxielei 写道
int getMaxNum(int a,int b){
  double x = (double)a;
  double y = (double)b;
  return (int)(x/2+y/2+Math.abs(x/2-y/2));
}


双手赞成,想当年老师也是这么讲的!
0 请登录后投票
   发表时间:2009-12-12  
       int i1=  1123;
       int i2 = 32;
       int i3 = i1 % i2;
       Response.Write(""+  (i1 - i3));
0 请登录后投票
   发表时间:2009-12-12  
这个明显是考位运算啊
int a, b; //a,b是待求的数
int sa = (a-b)>>31; //如果a>=b,则sa=0;否则sa=1;
int sb = (~sa)>>31; //sb=sa?0:1;
int max = sa*b+sb*a;
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics