部分面试题整理

1. 判断一个机器是大序还是小序的

bool IsBig_Endian()

//如果字节序为big-endian,返回true;

//反之为  little-endian,返回false

{

    unsignedshort test = 0x1122;

    if(*( (unsignedchar* ) &test ) == 0x11)

       returntrue;

    else

       returnfalse;

 }//IsBig_Endian()

3. 有个MxN的迷宫,一个人站在迷宫的左上角,出口在右下角。这个人每走一步只能向下一步或者向右一步,不能向左或后退。问这个人从入口到出口一共有多少种不同的走法。

(M+N)! / M!N!

4. N个平面最多能把空间分成多少份?

 n个点最多把直线分成C(n,0)+C(n,1)份;

 n条直线最多把平面分成C(n,0)+C(n,1)+C(n,2)份;

 n个平面最多把空间分成C(n,0)+C(n,1)+C(n,2)+C(n,3)=(n³+5n+6)/6份;

 n个空间最多把“时空”分成C(n,0)+C(n,1)+C(n,2)+C(n,3)+C(n,4)份;
只有1条直线时平面分成2个区域;去掉第n条直线剩下的n-1条直线分平面f(n-1)个不连通区域,加上第n条直线时,其与这n-1条直线相交于n-1个点,将第n条直线分成n段,每段分原来的区域为两个较小的区域,从而f(n)应该等于原来的f(n-1)个加上后来分割后多出来的n个,即是:   f(n)=f(n-1)+n   由上述递推关系和初值可很快解出:f(n)=l(n-1)+n=l(n-2)+(n-1)+n=...=f(1)+2+...+n =1+n*(n+1)/2

5、25匹马,5条赛道,每次最多5匹马赛跑,结束只能知道5匹马的相对排名,不能知道每匹马的具体速度,问需要几轮比赛才能找出跑得最快的三匹。

首先跑5次,每次5匹。接着,让之前每次跑第一的马(共5匹),跑一次,并根据跑的名次,令a到e表示这5匹马所在的组。这时,马的相对关系有:

a1 a2 a3 a4 a5

b1 b2 b3 b4 b5

c1 c2 c3 c4 c5

d1 d2 d3 d4 d5

e1 e2 e3 e4 e5

 其中只有, a1 a2 a3 b1 b2 c1 成为前3名的侯选者(其它的马一定在3名以外了)。而a1已经是最快的了,无需再跑。所以,只需要将a2 a3 b1 b2 c1 跑一次选出前2名即可。

总共需要7次。

 

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值