+ -
当前位置:首页 → 问答吧 → 深信服的面试题

深信服的面试题

时间:2010-07-10

来源:互联网

现贴几个出来,抛砖引玉


题1:
2
12
1112
3112
132112

——————————
请问下一行是什么并说说规律?


题2:
用C/C++代码实现以下要求:从1-100中挑选出10个不同的数字,请把可能的组合都打印出来

题3:
现有1000个球,10个盒子,问各个盒子内应分别放入多少球,才能到达需要1-1000之间任何数量的球,你都可以用若干个盒子组合出来。

作者: savemwang   发布时间: 2010-07-10

第一个:
1113122112

这个是王小云在ccav上做节目时用到的,除第一行外,每一行都是在描诉上一行,12表示有1个2,1112表示1个1,1个2,依次类推。

作者: zhaohongjian000   发布时间: 2010-07-10

看来深信服出题的人是王小云老师的粉丝,

作者: savemwang   发布时间: 2010-07-10

311322
上一行 3个1,1个3,两个2

作者: ps1987   发布时间: 2010-07-10

第三个:二分就可以
500
250
125
63
31
16
8
4
2
1

作者: zhaohongjian000   发布时间: 2010-07-10

本帖最后由 peidright 于 2010-07-10 11:39 编辑

回复 zhaohongjian000


一种非常恶心的方法。。,。, i为当前选中的数的个数, n 为数组a[] 当前的长度

   a[]     n   i                    

    f(a[] , int n,int  i){
         int b[100];
         int j;
         if (i == 10){
             printf("\n");
             return 0;
         }
          for (j= 0; j<n;j++){
              printf("%d\n",a;
              /*将a[]中除i位置以外的元素拷贝置b中*/
              f(b, n-1, i+1);
          }
    }

作者: peidright   发布时间: 2010-07-10

回复 zhaohongjian000


    强悍 想了半天都没有想出来

作者: tianxiaogang12   发布时间: 2010-07-10

回复 zhaohongjian000


    牛!!

作者: nhuczp   发布时间: 2010-07-10

回复 zhaohongjian000


    简直太牛X了。

作者: laohuanggua   发布时间: 2010-07-10

第一题强悍啊

作者: folklore   发布时间: 2010-07-10

俺们圣斗士看过一次的招式第2遍就不顶用了

作者: smalloc   发布时间: 2010-07-10

深信服?是啥?

作者: rain_fish   发布时间: 2010-07-10

第三题

最简单的是 1 2 4 8 16 32 64 128 256 489
1+2+4+8+16+32+64+128+256 = 511
可见1 2 4 8 16 32 64 128 256可以组和成[1,511]内的任一个数
100-511=489
因为489<=511+1,所以加入489后可以组和成[1,511+489]内的任一个数

当然可以有其他组合,比如 1 2 4 8 16 32 64 128 245 500
1 2 4 8 16 32 64 128 = 255
可见1 2 4 8 16 32 64 128可以组和成[1,255]内的任一个数
因为 245<=255+1,所以加入245后可以组和成[1,255+245=500]内的任一个数
因为 500<=500+1,所以加入500后可以组和成[1,500+500]内的任一个数

作者: bruceteen   发布时间: 2010-07-10