2007年10月24日星期三

三個小問題

吃晚飯前在這裏看到三個小問題
都要求用編程解決的
貼上來:
1.一个农场主养了一只牛,4年后生了第一只小牛,以后每年生一只,问:20年后,农场主有多少只牛?
(注:小牛四年后也会生小牛,。。。任何语言编译都行,能运行结果就OK)

2.一天夜晚,有四个人要过一条河,河上有一座只能承受两人重量的桥,而且桥面路况很差,要手持手电筒才能顺利通过。四人单独过河的时间分别为:2分钟、3分钟、8分钟和10分钟,并且只有一个手电筒。问:四人都过河的最短时间是多少?

3.有一家人共5口需要在夜里过河,河上只有一座桥,每次最多同时可以有两个人同时过河。由于在夜中,必须使用手电筒来照明。且目前只有一支手电,并且该手电还可以供电30mins。已知5个人(设为A,B,C,D,E)过河的时间分别为(单位:min):1、3、6、8、12。求5个人在 30mins之内过河的方法。

………………………………
我只做了一、二題
卡在第二題了

由於N年前玩過這游戲
所以最快的應該是21分鐘
2、3分鐘的一起走過去
2分鐘把電筒帶回來
8、10分鐘過去
3分鐘回來
最後2、3分鐘一起過去
3+2+10+3+3=21
如無意外這是最快的了
但代碼要怎麼寫?
估計只有窮舉法可用,畢竟這只是小問題一個
但具體寫起來有點難度
還在敲鍵盤

第一題用python很輕易就做出來了
答案應該是185
代碼我也貼上來
def math1(self):
cow = [7]
i = 0
last_year = 20
year = 1
while year <= last_year:
if year < 4:
year += 1
else:
for i in range( len(cow) ):
if cow[i] < 4:
cow[i] += 1
else:
cow[i] = 7
cow += [0]
year += 1
print "\nThe number of cow is :",
print len( cow )



吃完晚飯後
見到GIMP2.4正式發佈
想起畫CG的事
高中時代又喜歡想畫畫了
小時候曾經學過素描和水彩畫
可是畫得太差,連老師也不想教我.............
現在又想畫CG
於是找了找GIMP和Inkscape的教程
找到這東西
Inkscape真的很神奇..................

明天線性代數測驗
還是先溫習
發佈留言

熱門文章