锁定老帖子 主题:月薪16000的一道笔试题
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (16)
|
|
---|---|
作者 | 正文 |
发表时间:2011-10-26
其实这个题,连比较运算符都使不能使用的,出这种题,还真不知道意图是啥
|
|
返回顶楼 | |
发表时间:2011-10-27
这道题就是在不用判断条件的情况下,判断x是否不小于1,然后输出x-1的值
|
|
返回顶楼 | |
发表时间:2011-10-27
thanq 写道 function f( v ){
var t = 0 ,t1=-1; for(;t<=v;){ if(t==v){ return t1 }else{ t++ ;t1++; } } } +1 |
|
返回顶楼 | |
发表时间:2011-10-27
最后修改:2011-10-27
方法1:只有 for, 赋值, 和 ++, 的解决方案(题目说x不能等于0的):
static int fun(unsigned int x) { unsigned int i = x; unsigned int j = 0; //C语言, 不是0 ,就是true, 所以一直加就会是0了, 所以就退出了 for (;i;) { i++; j++; } //因为要返回x-1 j++; unsigned int m = 0; //和上面一样的道理 for (;j;) { j++; m++; } return m; } (我x,写完后...发现一楼已经有答案了). 方法2: 赋值和for都不需要.... 就是这样 (大部分语言都有方法体长度的限制, 那就多分为几个方法就可以了): int fun(unsigned int x) { x++; x++; ... //和上面的 x++, 共Integer.MAX_VALUE - 1行(无符号的哦), return x; } } |
|
返回顶楼 | |
发表时间:2011-10-27
最后修改:2011-10-27
我只会java 。。。
public class test { public static void main(String []agrs){ int j=0,x=20; for(int i=0;i<x;i++){ j=i; } System.out.print(j); } } x=20,输出19....真的 符合题意。。 小于号 算不? java 怎么 搞溢出? |
|
返回顶楼 | |
发表时间:2011-10-27
请仅使用变量声明,赋值,++,及从0开始的for循环实现一个函数f(x),在x为不小于1的整数类型的情况下,使其返回值等于x-1.
这题目我感觉挺简单,看了前面大家的回复,我觉得你们把问题搞复杂了。这题目没有说明用什么语言,我想主要就是说看你的思路是否正确,语法是无关紧要的。 下面是我的理解: 首先,题目里有个没定义清晰的地方,就是“从0开始的for循环”,这个是循环X次,还是X+1次;不过对结果没什么影响,我们先假定是循环X次 我的思路是,既然要返回X-1,那么在X次循环里,我只需要返回倒数第2次循环的值就ok了。 下面的伪代码既没有用java语法,也没用c++,大家能看懂就行 引用 int f(int x) {
第1次循环,m=0,n=1,也就是说m始终比循环次数小1,正是我们要的结果。
int m=0,n=0 for i=0 to x m=n n++ next return m } 同上,如果题目的意思是循环X+1次,那么只需要多定义一个变量,返回倒数第3次的值就行了。 引用 int f(int x) {
以上思路只用了变量、赋值、++、从0开始的for
int m=0,n=0,p=0 for i=0 to x m=n n=p p++ next return m } 呵呵,欢迎继续探讨 |
|
返回顶楼 | |
发表时间:2011-10-27
只有个零头。
|
|
返回顶楼 | |
发表时间:2011-10-28
f(x)
{ int result = x; for(int i=0;++result>++i;) { return x-1; } } |
|
返回顶楼 | |
发表时间:2011-10-28
最后修改:2011-10-28
public int f(int x){ int[] a = new int[x]; int count = -1; for(int b:a){ count++; } return count; } for循环不见得非要用boolean类型判断 |
|
返回顶楼 | |
发表时间:2011-10-28
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类型判断 高手 |
|
返回顶楼 | |