网易五道游戏笔试题
42、两个圆相交,交点是A1,A2。现在过A1点做一直线与两个圆分别相交另外一点B1,B2。
B1B2可以绕着A1点旋转。问在什么情况下,B1B2最长。
B1B2的长度等于B1C+CA1+A1D+DB2=2*CA1+2*A1D=2*CD
CD最长时,就是B1B2最长的时候。可以解得,CD//O1O2的时候,B1B2最长。
43、Smith夫妇召开宴会,并邀请其他4对夫妇参加宴会。在宴会上,他们彼此握手,
并且满足没有一个人同自己握手,没有两个人握手一次以上,并且夫妻之间不握手。
然后Mr. Smith问其它客人握手的次数,每个人的答案是不一样的。
求Mrs Smith握手的次数
思路:
MR.S A1 B1 C1 D1
MRS.S A2 B2 C2 D2
1、一共有10个人,出去Smith夫妇,客人有8个。由于每个人握手次数不同,而对于某一位客人来说,由于条件限定,最多可能握手次数为8,所以8位客人的握手次数就是1-8的排列。
2、假设A1握手8次,B1握手1次,也就是说B1没有和A1以外任何人握手,也就不会和MRS.S握手。这时剩下的人里面最多握手7次,最少握手两次,所以握手两次除了和握手8次和握手7次的人握过手以外,就没和其他人握手,自然也不会和MRS.S握手。以此类推,握手8,7,6,5次的人都和MRS.S握过手,握手1,2,3,4次的人没有。因此,MRS.S的握手次数是4.
44、有6种不同颜色的球,分别记为1,2,3,4,5,6,每种球有无数个。现在取5个球,求在一下
的条件下:
1、5种不同颜色,
2、4种不同颜色的球,
3、3种不同颜色的球,
4、2种不同颜色的球,
它们的概率
这题用下python解吧。
import itertools
len(list(itertools.combinations_with_replacement('123456',5)))
一共有252种可能
1、5种不同颜色: C(6,5)/252
2、4种不同颜色的球,C(6,4)*4/252
3、3种不同颜色的球, C(6,3)*6/252
4、2种不同颜色的球,C(6,2)*4/252
45、有一次数学比赛,共有A,B和C三道题目。所有人都至少解答出一道题目,总共有25人。
在没有答出A的人中,答出B的人数是答出C的人数的两倍;单单答出A的人,比其他答出A的人
总数多1;在所有只有答出一道题目的人当中,答出B和C的人数刚好是一半。
求只答出B的人数。
列出方程,并要求X,Y,Z都是自然数,解得X=4,Y=8,Z=2.连算带蒙,只答出B的有2X-Z=6人
46、从尾到头输出链表
题目:输入一个链表的头结点,从尾到头反过来输出每个结点的值。链表结点定义如下:
struct ListNode
{
int m_nKey;
ListNode* m_pNext;
};
分析:这是一道很有意思的面试题。该题以及它的变体经常出现在各大公司的面试、笔试题中。
这题C++的,思路很妙啊!
如果不破坏链表结构,倒序输出得使用栈。而递归就是一种进栈出栈的过程。所以用递归输出每个节点,就可以倒序了!妙啊!
总结:做游戏,就是喜欢概率题,智力题。