现在的位置: 首页 > 综合 > 正文

2014 腾讯实习生笔试题

2014年09月05日 ⁄ 综合 ⁄ 共 1207字 ⁄ 字号 评论关闭

  4月12号在清华大学参加的笔试,状态不是很好,答题答的懵懵懂懂的。晚上参加微软的在线笔试又被虐得惨不忍睹,4道题答对了一道。。。周一去阿里面试就是被虐的节奏,回来之后就跟大老板开会,一直到今天晚上十点左右才把大老板布置的任务完成的差不多,明天估计要开始赶paper了,今晚是最近最后有空的时间了估计。。。

        

        腾讯的笔试题型主要就两类,一类是不定项选择题,一类就是填空题。到现在我就只记得印象比较深的四点了。。。

1. c++的sizeof题目:具体数值记不清楚了,结构比较有印象

int A(char a[10]) { return sizeof(a); }

int main(){ char a[10]; int result = sizeof(a) * 10 + A(a) * 2; }

这题主要考察 数组名以及指针的区别,我在前面的文章《c++中数组名与函数的区别》中已经有所提及了。

主要原因是数组名a在传入到函数A中时已经失去了他的数据结构内涵并且退化成为了一个指针。所以结果应该为(设为32位机器)10 * 10 + 4 * 2 = 108。

2. 二叉树的定义:

维基百科中二叉树的定义是:二叉树是每个节点最多有两个子树的树结构,所以一个单独的节点也可以被称作一棵二叉树。.

3. 概率题:随机取三个球放到四个瓶子中,瓶子的最大球数是2的概率是多少。。。

应该挺简单的。。。但是我不会。。。回头要补习下概率论。。。

4. 梅氏砝码问题:

用四个砝码称出1 - 40的重量,这四个砝码的值为多少?

有个同学的思路还行,但是仔细推敲还是会有点问题:

解决思路 : 
1克的法码是无论如何要用的;
其次需要准备的法码设为x克,就可以称x+1克和x-1克。由于x-1克是在1克的基础上继续加1克的重量所以 x-1=1+1 ,即 x=3 。根据上式可以称出 1、2=3-1、3、4=3+1克。 
把要准备的第三个法码社为y克,由于第二个法码可以称到4克,所以又可以称y-4、y-3、y-2、y-1、y、y+1、y+2、y+3、y+4克的重量。由于y-4是在4克的基础上继续加1克的重量,所以 y-4=4+1。即 y=9。因此可以称出1、2=3-1、3、4=3+1、5=9-(1+3)、6=9-3、7=9+1-3、8=9-1、9、10=1+9、11=3+9-
1、12=3+9、13=1+3+9 。 

再把要准备的第四个法码设为z克,可以称从z-13到z+13。和前面一样、z-13=13+1 ,所以 z=27。因此可以称出到40克的重量了。 
也就是说、只要分别准备1、3、9(=3的平方)、27(=3的立方)克4种法码,就可以称出从1克到40克、每一次加1克的重量。 

梅氏砝码:若有n个砝码,重量分别为M1,M2,……,Mn,且能称出从1到(M1+M2+……+Mn)的所有重量,则再加一个砝码,重量为Mn+1=(M1+M2+……+Mn)*2+1,则这n+1个砝码能称出从1到(M1+M2+……+Mn+Mn+1)的所有重量。

抱歉!评论已关闭.