锁定老帖子 主题:月薪16000的一道笔试题
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (16)
|
|
---|---|
作者 | 正文 |
发表时间:2011-10-31
这个考察的是对整数溢出的理解吧,如果8位整数,呢么最大值是127,127在加1的话就溢出变成-1了。
|
|
返回顶楼 | |
发表时间:2011-10-31
楼主是为了让帖子火~!~,题目是自己出的
|
|
返回顶楼 | |
发表时间:2011-10-31
my_corner 写道 xiaoyu 写道 my_corner 写道 public int f(int x){ int[] a = new int[x-1]; int count = 0; for(int b:a){ count++; } return count; } for循环不见得非要用boolean类型判断 没人说只要boolean, 这个问题还有其他的限制而已, 例如只能用++, 只能有赋值, 和声明(new 和 - 我不知道算是什么)... 其实最简单就是执行x++ (最大数-1)次..(写这么多行代码). 我也是用++和赋值和声明啊。不能用-那就改成: public int f(int x){ int[] a = new int[x]; int count = -1; for(int b:a){ count++; } return count; } 真人才,-1 不算是用 - 号吗? |
|
返回顶楼 | |
发表时间:2011-10-31
icanfly 写道 这种题目不明白出题人是脑残还是什么,有什么具体用途?
自己蠢就别到处骂人。这题目应该是考溢出,属于考核算法。别以为只有所谓的应用软件才有用。说实际一点,写应用软件的都是码工,一点技术含量的没有。 |
|
返回顶楼 | |
发表时间:2011-10-31
tswwz 写道 这个考察的是对整数溢出的理解吧,如果8位整数,呢么最大值是127,127在加1的话就溢出变成-1了。
不是-1,是-128。 |
|
返回顶楼 | |
发表时间:2011-11-01
int xminusone(int x){
int count; int xminus1; for(;x;x++){ count++; } for(count++;count;count++){ xminus1++; } return xminus1; } |
|
返回顶楼 | |
发表时间:2011-11-01
zhanghh321 写道 my_corner 写道 xiaoyu 写道 my_corner 写道 public int f(int x){ int[] a = new int[x-1]; int count = 0; for(int b:a){ count++; } return count; } for循环不见得非要用boolean类型判断 没人说只要boolean, 这个问题还有其他的限制而已, 例如只能用++, 只能有赋值, 和声明(new 和 - 我不知道算是什么)... 其实最简单就是执行x++ (最大数-1)次..(写这么多行代码). 我也是用++和赋值和声明啊。不能用-那就改成: public int f(int x){ int[] a = new int[x]; int count = -1; for(int b:a){ count++; } return count; } 真人才,-1 不算是用 - 号吗? 真有意思,是生命变量为-1 |
|
返回顶楼 | |
发表时间:2011-11-01
最后修改:2011-11-01
借用前人的思想:
int f(int x){ int is1[] = new int[2147483647]; for(int i:is1){ x++; } for(int i:is1){ x++; } x++; return x; } 这么写的话 需要比较大的内存哦!! |
|
返回顶楼 | |
发表时间:2011-11-01
走火入魔!
|
|
返回顶楼 | |
发表时间:2011-11-01
my_corner 写道 zhanghh321 写道 my_corner 写道 xiaoyu 写道 my_corner 写道 public int f(int x){ int[] a = new int[x-1]; int count = 0; for(int b:a){ count++; } return count; } for循环不见得非要用boolean类型判断 没人说只要boolean, 这个问题还有其他的限制而已, 例如只能用++, 只能有赋值, 和声明(new 和 - 我不知道算是什么)... 其实最简单就是执行x++ (最大数-1)次..(写这么多行代码). 我也是用++和赋值和声明啊。不能用-那就改成: public int f(int x){ int[] a = new int[x]; int count = -1; for(int b:a){ count++; } return count; } 真人才,-1 不算是用 - 号吗? 真有意思,是生命变量为-1 声明变量也不行的。+ —— * /都不可以用 这样不符合题意的。 |
|
返回顶楼 | |