几个程序员面试题

来源:互联网 发布:淘宝中老年羽绒服女款 编辑:程序博客网 时间:2024/04/30 21:53

开锁:在一条长长的走廊上一次排列着100把锁着的锁头,你从把这100把锁全部打开开始(第一遍)。然后,你把所有序号是2的倍数的锁头再锁上(第2遍)。接下来,你依次找到所有序号是3的倍数的锁头前,如果它是打开的,就把它锁上,如果它是锁上的,就把它打开——我们把这称为“切换锁的状态”(第3遍)。即继续拿这样在第n遍去切换所有序号是n的倍数的锁头的状态。当进行到第100遍时,你将只切换第100把锁头的状态。请问,在如此这般地进行了100遍切换后,有多少锁头是打开的?
如果走廊里依次排列着k把锁头,那么在第k遍之后,有多少锁头是打开的?


三个开关:走廊的另一头有一个房间,房间里有三盏关着的白Zhi灯,你站在走廊的一头,身边的墙上有三个开关,每个开关控制着走廊另一头的一盏白芷灯。从你站的位置看不到灯光,现在,请设法把开关和灯的对应关系找出来,只允许你进入有灯的房间一次。


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

过桥:有四个人要过一座桥,但是只能同时过两个人,而且因为是天黑,只有一个手电筒,每次过桥时都需要用手电筒来照明。那么这四个人过这个桥所需要的时间分别是1、2、5、10分钟,而两个人一起过桥的时间按速度最慢的那个人算。问,要让这四个人都过了桥所需要的最短时间是多少?


第一个开锁问题思路正确,相当于做到了一大半,我得到的答案是有计数个因子的数的个数,但是没有更深一步。
第2个搞出来了。
第3个开关完全没有头绪。
第4个做错了,做的是19分钟,旁边李新那小子吼吼不是这个。然后继续尝试,尝试了十几分钟,仍然没搞出来。后来他们在旁边讨论,启发了一下才搞出来。感觉和那个菜狼羊问题很像。


50%的正确率都没的,汗。

原创粉丝点击