話說,乙個圓形池塘,鴨子在池塘裡,狐狸在岸邊,鴨子只有遊到岸邊才能飛走,而狐狸想吃鴨子,但是狐狸又不會游泳,只能在岸上跑。狐狸在岸上奔跑的速度是鴨子在水裡游的速度的4倍,問鴨子怎樣才能飛走而不被狐狸吃掉,假設狐狸足夠聰明。
乙個可行的想法是,鴨子在池塘裡面遊小圈,而狐狸在岸上跑大圈,但是被鴨子越落越遠,之後當鴨子和狐狸處於最遠距離時,鴨子徑直遊向岸邊飛走,而狐狸要抓到鴨子得跑半圈,但是跑到鴨子起飛地點時,鴨子早就飛走了。計算一下小圈半徑與大圈半徑的關係。
鴨子必須越游落下狐狸越遠,得出:
r/r < 1/4-----------(1)
之後當鴨子和狐狸距離最遠時,鴨子遊向岸邊,而狐狸跑半圈卻追不到鴨子,又得到乙個關係:
(r-r)/v < pi*r/4v => r > r - pi*r/4 -------(2)
綜合(1)(2)得:
r-pi*r/4
這就意味著鴨子挑選乙個合適的半徑r,滿足(3)這個不等式,之後就一直繞圈遊,狐狸不得不在岸上跟著跑,因為不跟著跑,鴨子會越來越離狐狸遠。但是跑也是無用功,因為狐狸永遠跟不上鴨子的速度。當鴨子和狐狸的距離為r+r時,鴨子就朝著岸邊遊,這時狐狸想抓也抓不到。這樣鴨子就成功逃走了。
狐狸捉兔子問題
圍繞著山頂有10個洞,狐狸想要吃兔子,兔子說 可以,但必須找到我,我就藏身於這10個洞中,你從10號洞出發,先到1號洞找,第二次隔1個洞找,第三次隔2個洞找,以後如此類推,次數不限。但狐狸從早到晚進進出出了1000次,仍沒有找到兔子。問兔子究竟藏在哪個洞裡?1 把10個洞編上序號 1,2,3,4,5...
小狗與狐狸題解
include include include include using namespace std 初始化狀態 當前無法判斷是小狗獲勝還是狐狸獲勝 則為 1 enum res 一維儲存0,1 二,三,四,維儲存0 31 res ans 2 32 32 32 32 32 在棋盤中黑色方格的下標為 ...
C 狐狸找兔子問題
圍繞著山頂有10個洞,乙隻兔子和乙隻狐狸住在各自的洞裡,狐狸總想吃掉兔子,一天兔子對狐狸說,你想吃我有乙個條件,你先把洞編號1到10,你從第10洞出發,先到第1號洞找我,第二次隔乙個洞找我,第三次隔兩個洞找我,以後依次類推,次數不限,若能找到我你就可以飽餐一頓,在沒找到我之前不能停止,狐狸一想只有1...