Skip to content

Instantly share code, notes, and snippets.

@shionryuu
Last active September 22, 2015 07:14
Show Gist options
  • Save shionryuu/2f4672e0536f89bf2e5c to your computer and use it in GitHub Desktop.
Save shionryuu/2f4672e0536f89bf2e5c to your computer and use it in GitHub Desktop.
面试题 by erlang初学者

1, 有100盏灯,从1~100编上号,开始时所有的灯都是关着的,第一次,把所有编号是1的倍数的灯的开关状态改变一次;第二次,把所有编号是2的倍数的灯的开关状态改变一次;第三次,把所有编号是3的倍数的灯的开关状态改变一次;以此类推,直到把所有编号是100得倍数的灯的开关状态改变一次。问,此时所有开着的灯的编号。

答案:10盏是亮的,分别是1 4 9 16 25 36 49 64 81 100;90盏是灭的。这是因为除了这些平方数以外,其余的任意一个数都能分成不同的两数乘积,质数可以分为1和本身,合数都可以分成若干组乘积(每组两个),因此,这些等都被拉了偶数倍,也就是灭的,平方数因为在被自己的开方数拉是只有一次,所以是奇数次,也就是亮的。随便举两个例子以证明。36分别被1、2、3、4、6、9、12、18、36拉过,共是9次,亮。38分别被1、2、19、38拉过,共是4次,灭。所以10盏是亮的;90盏是灭的

2.假设在一段高速公路上,30分钟之内见到汽车经过的概率是0.95。那么,在10分钟内见到汽车经过的概率是多少?(假设缺省概率固定)

答案:这题的关键在于0.95是见到一辆或多辆汽车的概率,而不是仅见到一辆汽车的概率。在30分钟内,见不到任何车辆的概率为0.05。因此在10分钟内见不到任何车辆的概率是这个值的立方根,而在10分钟内见到一辆车的概率则为1减去此立方根,也就是大约63%。

3.有四个人要在夜里穿过一条悬索桥回到宿营地。可是他们只有一支手电,电池只够再亮17分钟。过桥必须要有手电,否则太危险。桥最多只能承受两个人同时通过的重量。这四个人的过桥速度都不一样:一个需要1分钟,一个需要2分钟,一个需要5分钟,还有一个需要10分钟。他们如何才能在17分钟之内全部过桥?

答案:1和2一起过(2分钟);1返回(3分钟);5和10一起过(13分钟);2返回(15分钟);1和2一起过(17分钟)。全体安全过桥。

4.为1万亿个数排序需要多长时间?请说出一个靠谱的估计。

答案:用归并排序法(Merge Sort)排序。平均情况下为O(1,000,000,000,000 Log 1,000,000,000,000)。最差情况下为O(1,000,000,000,000 Log 1,000,000,000,000)。现在可以做到每秒10亿次的运算,所以大约应需要3000秒。

5.你8颗小石头和一架托盘天平。有7颗石头的重量是一样的,另外一颗比其他石头略重;除此之外,这些石头完全没有分别。你不得假设那颗重头到底比其他的石头重了多少。请问:最少要称量几次,你才能把那颗较重的石头找出来?

答案:用三分法两次就能称出来了。过程如下: 第一次,随便拿6颗分成两组放天平上称。 情况一:两边相等,则重的在剩下的两个里,再把剩下的两个放天平里称,找出重的一个即可(两次) 情况二:有一边重,则在重的一边的两个里再随便拿两个放天平上称。如果两边平衡,则重的是没没称的那个,否则是重的那个。

扩展:对于已经轻重的称石头问题,一般都可以用三分法,其次数为 Math.ceil(log3(n)),即颗数小于或等于3的1次方(3),则需1次;颗数小于或等于3的2次方(9),则需2次;颗数小于或等于3的3次方(27),则需3次;……

6.平均要取多少个(0,1)中的随机数才能让和超过1

答案:e

@shionryuu
Copy link
Author

ref yeeyan

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment