锁定老帖子 主题:不用判断语句求俩数中的大(或者小)数
精华帖 (0) :: 良好帖 (16) :: 新手帖 (3) :: 隐藏帖 (1)
|
|
---|---|
作者 | 正文 |
发表时间:2009-12-11
比较两个数,用一个数组,是不是有些浪费,假如a和b的值是很大的数呢
|
|
返回顶楼 | |
发表时间:2009-12-11
用眼睛,而且只需一只就足够。
|
|
返回顶楼 | |
发表时间:2009-12-11
jiyanliang 写道 题目不让用if判断的根本原因我想就是想让你用最少的语句来实现这个功能吧,你弄个异常和if判断有什么区别啊。 就是啊
|
|
返回顶楼 | |
发表时间:2009-12-11
用三目允许吧?
int getBigNumber(int a,int b) { return a>=b?a:b; } |
|
返回顶楼 | |
发表时间:2009-12-11
完全是吃饱了撑的,工作的时候一定要记住,用最简单的方式来做事
|
|
返回顶楼 | |
发表时间:2009-12-11
楼主的思维方式还是比较好的,虽然IT行业数学基础也挺重要的,但是我觉得思考问题的方式也重要。
这道题,我觉得是考思维方式,如果说要考数学基础的话,那这道题的答案就海量了。 |
|
返回顶楼 | |
发表时间:2009-12-12
可以用三元表达式,语句是少,不过还是有判断
|
|
返回顶楼 | |
发表时间: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)); } 双手赞成,想当年老师也是这么讲的! |
|
返回顶楼 | |
发表时间:2009-12-12
int i1= 1123;
int i2 = 32; int i3 = i1 % i2; Response.Write(""+ (i1 - i3)); |
|
返回顶楼 | |
发表时间: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; |
|
返回顶楼 | |