软件面试逻辑题
有什么更好的思路,大家留言哈
一、三个房间里分别有三盏灯,房间外并排着三个分别控制的三个开头,用什么办法区分哪个开关控制哪盏灯?房间门是关着的
先打开两个开关,再进屋里之前关上一个,进去之后,灯亮的就是那个开关是开的那个,没亮但有热度的是那个先开后关的,最后的就是那个没开的
二、一只青蛙从7米深的井底往上爬,白天爬3米晚上下落2米,问几天能爬到井口?
A:白天爬3米,晚上下落2米。所以一天等于爬了一米,到第4天爬了4米,第5天直接爬3米,就到井口,按这个列一下式:(7-3)÷1+1=4÷1 +1=5天
三、一毛钱一个桃,三个核换一个桃,拿1块钱能吃几个桃?
1块钱买10个桃,剩10个核;9个核换3个桃,加上余下的一个,剩4个核;3个核换一个桃,加上余下的一个,剩2个核;赊1个桃,吃完后剩3个核都给卖桃的,顶赊的那个。加起来,1块钱能吃15个桃。
四、现有2个空水壶,容积分别为5升和6升,如何只用这2个水壶取得3升的水?(不能借助别的容器)
A:假如6升是a,5升是b。第一次:将a装满,倒入b中,a剩余1升水;第二次:倒空b,a中剩余的水倒入b中,再将a装满,倒入b中,a剩余2升水;第三次:倒空b,a中剩余的水倒入b中,再将a装满,倒入b中,a剩余3升水。
五、有一条河,河岸边有猎人,狼,还有一个男人,带两个小孩,还有一个女人,带两个小孩,,如果猎人离开,狼就把所有的人全部吃掉,如果男人离开,女人就把她的两个小孩掐死,,如果女人离开同上,河里有一条船,船上只能做两个人(附加条件:只有猎人,男人,女人会划船).问:这八个人如何过河(都在河一边,狼也算一个) 。
1、猎人带狼过去,猎人回来
2、男人带猎人过去,男人回
3、男人带男孩过去,男人回
4、男人带第二个男孩过去,男人回
5、男人带女人过去,女人回
6、女人带女孩过去,猎人带狼回
7、猎人带第二个女孩过去,猎人回
8、猎人带狼过去,过河任务结束其中第二步也可以是女人带猎人过去
六、2n个人排队进电影院,票价是50元。在这2n个人当中,其中n个人只有50元,另外n个人只有100元面钞。愚蠢的电影院开始卖票时1分钱也没有。问:有多少种排队方法使得每当一个拥有100元面钞的人买票时,电影院都有50元找钱?
可用递归算法,但时间复杂度为2的n次方,也可以用动态规划法,时间复杂度为n的平方,实现起来相对要简单得多,但最方便的就是直接运用公式:排队的种数=(2n)!/[n!(n+1)!]。
如果不考虑电影院能否找钱,那么一共有(2n)!/[n!n!]种排队方法(即从2n个人中取出n个人的组合数)
对于每一种排队方法,如果他会导致电影院无法找钱,则称为不合格的,这种排队方法有(2n)!/[(n-1)!(n+1)!]种(从2n个人中取出n-1个人的组合数)
所以合格的排队种数就是(2n)!/[n!n!]- (2n)!/[(n-1)!(n+1)!] =(2n)!/[n!(n+1)!]。
七、有一只钟,每小时慢3分钟,早晨4点半时,将钟对准标准时间,则钟走到当天上午10点50分时,标准时间是?
每小时慢3分钟,则第20分钟慢一分,所以当钟每走19分钟实际上已过了20分钟
(10+5/6)-4.5=(5.5+5/6),(5.5+5/6)*60=330+50=380,380/(20/19)=400=6小时40分
(4点30)+(6小时40分)=11点10分,所以钟走到当天上午10点50分时,标准时间是11:10
八、墨西哥农村现在仍然可以看到人们用马和驴运载货物,一位商人把四匹马从甲村拉到乙村,而从甲村到乙村,A马要花一小时,B马要花两小时,C马要花四小时,D马要花五小时,这位商人一次只能拉两匹马,回来时他还要骑一匹马,其中以走得慢的那匹马作为从甲村拉到乙村所需的时间,听说有人花了12小时就把四匹马全部从甲村拉到乙村,请问:他是如何办到的?
拉AB去,骑B回,用时2+2=4
拉CD去,骑A回,用时5+1=6,总共10小时
拉AB去,用时2,总共用时12小时
九、有甲乙丙丁四个人过桥,甲要1分钟,乙要2分钟,丙要5分钟,丁要10分钟,桥一次只能过两个人,用时以两人中最慢的用时为准,因为天黑了,过桥必须要手电筒,但是只有一个,那么如何让这4个人在17分钟内过河?
1、甲乙先过去,乙返回。则总计需要2分钟+ 2分钟=4分钟
2、丙丁一起过。甲返回解乙。则总计需要10分钟+1分钟=11分钟
3、最后甲乙一起再过,则需要2分钟
因此总耗时17分钟。