遞推演算法 狼與屠夫

2021-06-16 15:27:43 字數 793 閱讀 4377

題目:

狼的洞穴與屠夫的家距離為c; 當屠夫經過狼的洞穴時,狼需要t秒才能發現屠夫; 當狼追上屠夫時,屠夫丟一塊骨頭給狼,狼把骨頭叼回洞穴,並花費f秒把骨頭藏起來,然後再去追屠夫; 屠夫的速度為vp,狼的速度為vd; 問屠夫要丟幾塊骨頭才能回到家?

分析:1.用s表示屠夫的位置,則可以用s與c比較,來確定屠夫是否需要繼續扔骨頭。

2.初始的s可以定為狼第一次追上屠夫時的位置,即s=vp*t+vp*t/(vd-vp)*vp。

3.可以將屠夫位置的計算分為兩部分,先計算當狼藏好骨頭時(再次追屠夫的時間)屠夫的位置;

以此為基礎計算狼再次追上屠夫時的位置,此時要再扔乙個骨頭。

**:#includeint main()

{ float vp,vd,t,f,c,s,s1,t1,t2;

int i=0;

printf("請輸入屠夫的速度vp:");

scanf("%f",&vp);

printf("請輸入狼的速度vd:");

scanf("%f",&vd);

printf("請輸入狼發現屠夫的時間t:");

scanf("%f",&t);

printf("請輸入狼藏骨頭的時間f:");

scanf("%f",&f);

printf("請輸入狼洞穴與屠夫家的距離c:");

scanf("%f",&c);

if(vd<=vp)

printf("狼追不上屠夫n");

else

{s=vp*t+vp*t/(vd-vp)*vp;

while(s

演算法設計與分析 遞推演算法

遞推法的概念 遞推法是一種重要的數學方法,在數學的各個領域中都有廣泛的運用,也是計算機用於數值計算的乙個重要演算法。這種演算法特點是 乙個問題的求解需一系列的計算,在已知條件和所求問題之間總存在著某種相互聯絡的關係,在計算時,如果可以找到前後過程之間的數量關係 即遞推式 那麼,從問題出發逐步推到已知...

遞推演算法二

b align center size medium 遞推演算法二 冪積數列 size align b size medium b 冪積數列 b m 輸入整數n,m求小於n的按從小到大的第m個元素 分析 list b 窮盡法 b 從2開始到n,如果n 2 0,n n 2一直迴圈的直到不能除盡 n 3...

遞推演算法(初學)

遞推演算法 乙個問題的求解需一系列 類似重複 的計算,在已知條件和所求問題之間總存在著某種相互聯絡的關係。通過已知條件,利用特定關係得出中間推論,直至得到結果的演算法。在解決問題的時候,去尋找前後過程之間的數學關係 即遞推式 遞推演算法避開了求項公式的麻煩,把乙個複雜的問題的求解,分解成了連續的若干...