由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 一道onsite面试题
相关主题
bloomberg面经问个关于java和C++的问题
问个题弱问一个小问题,leetcode 上merge sorted list
T家online test跪了大家帮忙看看题讨论一道题:deep iterator
微软面试题遇到了一个很奇怪的C++问题
问几个unix/c++工作面试题C语言高手帮我看看下面代码,哪里错了啊,谢了
Bloomberg on campus interview一个C++题
pointer 和reference的区别IBM高级软件工程师的示例代码,大家看看有多少个bug?
问个C++ ctor的问题面试问了个“master c++”的这个问题,答不出来,直接给枪毙了 (转载)
相关话题的讨论汇总
话题: loop话题: 定义话题: c++话题: return话题: s2
进入JobHunting版参与讨论
1 (共1页)
z******s
发帖数: 8
1
昨天去某公司面试 Software Engineer碰到的最后一道题:
有一种新语言,只能做三种操作。
X=0; 给变量赋值为0;
X++; 递增
LOOP(x){。。} 给定一个变量值就循环X次,循环block可以嵌套定义的三种操作。
题目是给定B,求A=B-1。
想了很久还是没有想出来。。大家可以帮忙看看有什么思路吗?
r**u
发帖数: 1567
2
如果是32 bit的integer,不管unsigned/signed,loop(2^32-1) {X++;},(X + 2^
32) % 2^32 = X, 再-1就对了吧。不知道这个解是不是很ugly,要loop 2^32-1次。

【在 z******s 的大作中提到】
: 昨天去某公司面试 Software Engineer碰到的最后一道题:
: 有一种新语言,只能做三种操作。
: X=0; 给变量赋值为0;
: X++; 递增
: LOOP(x){。。} 给定一个变量值就循环X次,循环block可以嵌套定义的三种操作。
: 题目是给定B,求A=B-1。
: 想了很久还是没有想出来。。大家可以帮忙看看有什么思路吗?

k***e
发帖数: 556
3
这个题目在careercup上见过 结果刚才又想了15分钟 :《
C=0;
D=1;
suppose after loop(x), the value of x is unchanged. the loop will run for x
times where x is the value enter the loop and the afterwards value of x will
not influence the loop
loop(B) {
loop(C)
A++;
loop(D)
C=0; C++;
}

【在 z******s 的大作中提到】
: 昨天去某公司面试 Software Engineer碰到的最后一道题:
: 有一种新语言,只能做三种操作。
: X=0; 给变量赋值为0;
: X++; 递增
: LOOP(x){。。} 给定一个变量值就循环X次,循环block可以嵌套定义的三种操作。
: 题目是给定B,求A=B-1。
: 想了很久还是没有想出来。。大家可以帮忙看看有什么思路吗?

s*****r
发帖数: 773
4

题目说没有-1这个操作啊

【在 r**u 的大作中提到】
: 如果是32 bit的integer,不管unsigned/signed,loop(2^32-1) {X++;},(X + 2^
: 32) % 2^32 = X, 再-1就对了吧。不知道这个解是不是很ugly,要loop 2^32-1次。

r**u
发帖数: 1567
5
This is nice. You can remove loop(D), dont you?
C=0;
loop(B) {
loop(C)
A++;
C = 0; C++;
}

x
will

【在 k***e 的大作中提到】
: 这个题目在careercup上见过 结果刚才又想了15分钟 :《
: C=0;
: D=1;
: suppose after loop(x), the value of x is unchanged. the loop will run for x
: times where x is the value enter the loop and the afterwards value of x will
: not influence the loop
: loop(B) {
: loop(C)
: A++;
: loop(D)

l**n
发帖数: 88
6
Nice answer!
b***e
发帖数: 1419
7
这个东西叫Chruch Numerals. 不但减一可以定义,四则运算,幂等都可以定义。 严
格的说这个东西和primitive recursion的表达能力是一样的。
这个题本身有很多解法。但是通解如下:
定义isZero(x):
y = 1;
for(x) {
y = 0;
}
return y;
定义not(x):

y = 0;
if (isZero(x)) {
y = 1;
}
return y;
定义bool(x):

return not(not(x));
定义 if(x) then S1 else S2 为:
for(bool(x)) {S1}
for(not(x)) {S2}
有了if/then/else还有什么你不能干的:
pred(x)定义为:

y = 0;
z = 0;
for(x) {
if(z) {
y++;
} else {
z++;
}
}
return y;

【在 z******s 的大作中提到】
: 昨天去某公司面试 Software Engineer碰到的最后一道题:
: 有一种新语言,只能做三种操作。
: X=0; 给变量赋值为0;
: X++; 递增
: LOOP(x){。。} 给定一个变量值就循环X次,循环block可以嵌套定义的三种操作。
: 题目是给定B,求A=B-1。
: 想了很久还是没有想出来。。大家可以帮忙看看有什么思路吗?

c*****o
发帖数: 178
8
C = 0;
Loop(B){
A = 0;
Loop(C++){
A++;
}
}
o********r
发帖数: 79
9
1 (共1页)
进入JobHunting版参与讨论
相关主题
面试问了个“master c++”的这个问题,答不出来,直接给枪毙了 (转载)问几个unix/c++工作面试题
吐糟今天下午的电话面试,第一次见识了烙印的简历水分有多大Bloomberg on campus interview
问大家关于编程的经验pointer 和reference的区别
一道CompleteBook上的SQL题问个C++ ctor的问题
bloomberg面经问个关于java和C++的问题
问个题弱问一个小问题,leetcode 上merge sorted list
T家online test跪了大家帮忙看看题讨论一道题:deep iterator
微软面试题遇到了一个很奇怪的C++问题
相关话题的讨论汇总
话题: loop话题: 定义话题: c++话题: return话题: s2