例1
植樹節那天,有五位同學參加了植樹活動,他們完成植樹的棵樹都不相同,問第一位同學植了多少棵樹時,他指著旁邊的第二位同學說比他多植了兩棵;追問第二位同學他又說比第三位同學多植了兩棵,如此追問,都說比另一位同學多植兩棵。最後問道第五位同學時,他說自己種了10棵,問第一位同學植了多少棵?
【分析】設第一位同學植樹的棵樹為a1,欲求a1,需要從第五位同學植樹的棵樹a5入手,根據「多兩棵」這個規律,按照一定順序逐步進行推算。
a5=10;
a4=a5+2=12;
a3=a4+2=14;
a2=a3+2=16;
a1=a2+2=18;
源**:
#include
#include
using
namespace
std;
int main()
printf("%d\n",a);
system("pause");
return
0;}
例2
滿足f1=f2=1,fn=fn-1+fn-2的數列我們叫做斐波那契數列,(fibonacci)它的前若干項是:1,1,2,3,5,8,13,21,34…求此數列的第n項。
源**:
#include
#include
using
namespace
std;
int f0=1,f1=1,f2,n;
int main()
printf("%d\n",f2);
system("pause");
return
0;}
總結:遞推演算法以初始「起點」值為基礎,用相同的運算規律,逐次重複運算,直至運算結束,這種從「起點」重複相同的方法直至到達一定「邊界」,猶如單向運動,可以用迴圈實現,遞推的本質時按規律逐次推出(計算)下一步的結果。 演算法設計與分析 遞推演算法及例題
遞推演算法 演算法特點是 乙個問題的求解需一系列的計算,在已知條件和所求問題之間總存在著某種相互聯絡的關係,在計算時,如果可以找到前後過程之間的數量關係 即遞推式 那麼,從問題出發逐步推到已知條件,此種方法叫逆推。數字三角形 如上圖所示為乙個數字三角形。請編乙個程式計算從頂到底的某處的一條路徑,使該...
遞推演算法二
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...
遞推演算法(初學)
遞推演算法 乙個問題的求解需一系列 類似重複 的計算,在已知條件和所求問題之間總存在著某種相互聯絡的關係。通過已知條件,利用特定關係得出中間推論,直至得到結果的演算法。在解決問題的時候,去尋找前後過程之間的數學關係 即遞推式 遞推演算法避開了求項公式的麻煩,把乙個複雜的問題的求解,分解成了連續的若干...