当前位置:编程学习 > JAVA >>

据说是搜狐的面试题

烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?
 想了半天,得不出答案。
 
--------------------编程问答-------------------- 可以拿2根绳,一根同时点燃两头,另一根也同时点燃但只点燃一头,第一根烧尽后第二根应该就剩下半小时的量了,以此类推。 --------------------编程问答-------------------- 这题一开始是微软的,后来变成谷歌的,今天又成搜狐的了。。。 --------------------编程问答-------------------- 如果不规则有绳子只有一跟呢。 --------------------编程问答--------------------
引用 3 楼 yjp198713 的回复:
如果不规则有绳子只有一跟呢。


LZ都说了有若干条。 --------------------编程问答-------------------- 反正什么版本都有 --------------------编程问答-------------------- 我得到的答案是3条绳子可以确定时间(不知道是不是最优的)
1、拿两根绳子,一根两头点燃,一根一头点燃(要同时点)
2、当两头点燃的那根绳子烧完时,把还在烧的那根绳子的另一头点燃
3、当第二根绳子烧完时(此时45分钟),再拿一根绳子两头点燃
4、当第三根绳子烧完时,时间就是75分钟,也就是1小时15分钟 --------------------编程问答-------------------- 烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?
貌似最少要3根。。。
主要30+45可以,60+15也行,不过貌似要中间你给他弄灭。。
这个考题有15 45版本。


--------------------编程问答-------------------- 同意楼上解法!!! --------------------编程问答--------------------
引用 1 楼 yh0123123 的回复:
可以拿2根绳,一根同时点燃两头,另一根也同时点燃但只点燃一头,第一根烧尽后第二根应该就剩下半小时的量了,以此类推。

你的方法我想了半天也想不到应该怎么烧,说的仔细一点。 --------------------编程问答-------------------- 以前看过很多这种题目

我看的时候好像说是微软的 --------------------编程问答-------------------- 2跟绳子就够了。
第一根点燃一端,烧完60分钟。
待第一根烧完时,同时点燃第二根绳的两端几中间,完全烧完用时15分钟。
60+15=75分钟 --------------------编程问答--------------------
引用 6 楼 zxhcloth 的回复:
我得到的答案是3条绳子可以确定时间(不知道是不是最优的)
1、拿两根绳子,一根两头点燃,一根一头点燃(要同时点)
2、当两头点燃的那根绳子烧完时,把还在烧的那根绳子的另一头点燃
3、当第二根绳子烧完时(此时45分钟),再拿一根绳子两头点燃
4、当第三根绳子烧完时,时间就是75分钟,也就是1小时15分钟
顶 --------------------编程问答--------------------
引用 11 楼 gohopo 的回复:
2跟绳子就够了。
第一根点燃一端,烧完60分钟。
待第一根烧完时,同时点燃第二根绳的两端几中间,完全烧完用时15分钟。
60+15=75分钟

神马意思? --------------------编程问答--------------------
引用 11 楼 gohopo 的回复:
2跟绳子就够了。
第一根点燃一端,烧完60分钟。
待第一根烧完时,同时点燃第二根绳的两端几中间,完全烧完用时15分钟。
60+15=75分钟


关键是中间不好取得准确·· --------------------编程问答-------------------- 1、拿两根绳子同时点燃,A两头点燃,B一头点燃,
2、当A烧完时,立即点燃B的另一端,B完全烧完的时候就是75分钟了。
--------------------编程问答--------------------
引用 11 楼 gohopo 的回复:
2跟绳子就够了。
第一根点燃一端,烧完60分钟。
待第一根烧完时,同时点燃第二根绳的两端几中间,完全烧完用时15分钟。
60+15=75分钟
本来就说是不均匀的,中间就不一定是一般的时间了,同意6楼解法 --------------------编程问答--------------------
引用 6 楼 zxhcloth 的回复:
我得到的答案是3条绳子可以确定时间(不知道是不是最优的)
1、拿两根绳子,一根两头点燃,一根一头点燃(要同时点)
2、当两头点燃的那根绳子烧完时,把还在烧的那根绳子的另一头点燃
3、当第二根绳子烧完时(此时45分钟),再拿一根绳子两头点燃
4、当第三根绳子烧完时,时间就是75分钟,也就是1小时15分钟


这个好 --------------------编程问答-------------------- 题目看清了木有,是不均匀的绳子,烧了一半就是一半时间吗? --------------------编程问答-------------------- 啧 如果不成立 --------------------编程问答--------------------  不错的问题。思考 中 --------------------编程问答-------------------- 还好,还好。、、 --------------------编程问答-------------------- 先拿三个,一个两边烧,两个一端烧,然后再一个一边,再拿一个绳,不就是1小时15分钟 --------------------编程问答-------------------- --------------------编程问答-------------------- 绳子是不均匀的话
1.两根绳子同时烧,第一根点两端,第二根点一端
2.当第一根绳子烧完时,用了半小时,第二根还剩半小时的量(要烧),这时点燃第二根的另一端,当第二根烧完时就是15分钟。
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,