目前本站已有 十几万 份求职资料啦!


腾讯常用笔试题

10-15 23:59:20 来源:http://www.qz26.com 笔试题目   阅读:8724
导读:数据结构的知识还没怎么学透,不过这个题我到是自己研究过,可以分析下。将12个球分别编号为a1,a2,a3…….a10,a11,a12.第一步:将12球分开3拨,每拨4个,a1~a4第一拨,记为b1, a5~a6第2拨,记为b2,其余第3拨,记为b3;第二步:将b1和b2放到天平两盘上,记左盘为c1,右为c2;这时候分两中情况:1.c1和c2平衡,此时可以确定从a1到a8都是常球;然后把c2拿空,并从c1上拿下a4,从a9到a12四球里随便取三球,假设为a9到a11,放到c2上。此时c1上是a1到a3,c2上是a9到a11。从这里又分三种情况:A:天平平衡,很简单,说明没有放上去的a12就是异球,而到此步一共称了两次,所以将a12随便跟11个常球再称一次,也就是第三次,马上就可以确定a12是重还是轻;B:若c1上升,则这次称说明异球为a9到a11三球中的一个,而且是比常球重。取下c1所有的球,并将a8放到c1上,将a9取下,比较a8和a11(第三次称),如果平衡则说明从c2上取下的
腾讯常用笔试题,标签:银行笔试题目,企业笔试题目,http://www.qz26.com

  数据结构的知识还没怎么学透,不过这个题我到是自己研究过,可以分析下。

  将12个球分别编号为a1,a2,a3…….a10,a11,a12.

  第一步:将12球分开3拨,每拨4个,a1~a4第一拨,记为b1, a5~a6第2拨,记为b2,其余第3拨,记为b3;

  第二步:将b1和b2放到天平两盘上,记左盘为c1,右为c2;这时候分两中情况:

  1.c1和c2平衡,此时可以确定从a1到a8都是常球;然后把c2拿空,并从c1上拿下a4,从a9到a12四球里随便取三球,假设为a9到a11,放到c2上。此时c1上是a1到a3,c2上是a9到a11。从这里又分三种情况:

  A:天平平衡,很简单,说明没有放上去的a12就是异球,而到此步一共称了两次,所以将a12随便跟11个常球再称一次,也就是第三次,马上就可以确定a12是重还是轻;

  B:若c1上升,则这次称说明异球为a9到a11三球中的一个,而且是比常球重。取下c1所有的球,并将a8放到c1上,将a9取下,比较a8和a11(第三次称),如果平衡则说明从c2上取下的a9是偏重异球,如果不平衡,则偏向哪盘则哪盘里放的就是偏重异球;

  C:若c1下降,说明a9到a11里有一个是偏轻异球。次种情况和B类似,所以接下来的步骤照搬B就是;

  2.c1和c2不平衡,这时候又分两种情况,c1上升和c1下降,但是不管哪种情况都能说明a9到a12是常球。这步是解题的关键。也是这个题最妙的地方。

  A:c1上升,此时不能判断异球在哪盘也不能判断是轻还是重。取下c1中的a2到a4三球放一边,将c2中的a5和a6放到c1上,然后将常球a9放到c2上。至此,c1上是a1,a5和a6,c2上是a7,a8和a9。此时又分三中情况:

www.qz26.com

  1)如果平衡,说明天平上所有的球都是常球,异球在从c1上取下a2到a4中。而且可以断定异球轻重。因为a5到a8都是常球,而第2次称的时候c1是上升的,所以a2到a4里必然有一个轻球。那么第三次称就用来从a2到a4中找到轻球。这很简单,随便拿两球放到c1和c2,平衡则剩余的为要找球,不平衡则哪边低则哪个为要找球;

  2)c1仍然保持上升,则说明要么a1是要找的轻球,要么a7和a8两球中有一个是重球(这步懂吧?好好想想,很简单的。因为a9是常球,而取下的a2到a4肯定也是常球,还可以推出换盘放置的a5和a6也是常球。所以要么a1轻,要么a7或a8重)。至此,还剩一次称的机会。只需把a7和a8放上两盘,平衡则说明a1是要找的偏轻异球,如果不平衡,则哪边高说明哪个是偏重异球;

  3)如果换球称第2次后天平平衡打破,并且c1降低了,这说明异球肯定在换过来的a5和a6两求中,并且异球偏重,否则天平要么平衡要么保持c1上升。确定要找球是偏重之后,将a5和a6放到两盘上称第3次根据哪边高可以判定a5和a6哪个是重球;

  B:第1次称后c1是下降的,此时可以将c1看成c2,其实以后的步骤都同A,所以就不必要再重复叙述了。至此,不管情况如何,用且只用三次就能称出12个外观手感一模一样的小球中有质量不同于其他11球的偏常的球。而且在称的过程中可以判定其是偏轻还是偏重。

  给一个奇数阶N幻方,填入数字1,2,3…N*N,使得横竖斜方向上的和都相同

  答案:

  #include

  #include

  #include

  usingnamespace std;

  int main()

  {

  int n;

  cin>>n;

  int i;

  int **Matr=newint*[n];//动态分配二维数组

  for(i=0;i

  Matr[ i ]=newint[n];//动态分配二维数组

  //j=n/2代表首行中间数作为起点,即1所在位置

  int j=n/2,num=1;//初始值

  i=0;

  while(num!=n*n+1)

  {

  //往右上角延升,若超出则用%转移到左下角

  Matr[(i%n+n)%n][(j%n+n)%n]=num;

  //斜行的长度和n是相等的,超出则转至下一斜行

  if(num%n==0)

  i++;

  else

  {

  i–;

  j++;

  }

  num++;

  }

  for(i=0;i

  {

  for(j=0;j

  cout<

  cout<

  }

  for(i=0;i

  delete [ ]Matr[ i ];

  return1;

上一页  [1] [2] [3] 


Tag:笔试题目银行笔试题目,企业笔试题目求职笔试面试 - 笔试题目
【字号: 】 【打印】 【关闭
《腾讯常用笔试题》相关文章
最新更新
推荐热门
联系我们 | 网站地图 | 财务资料 | 范文大全 | 求职简历 | 财会考试 | 成功励志
Copyright 二六求职资料网 All Right Reserved.
1 2 3 4 5 6 7 8 9 10