資料結構與演算法之遞推演算法 C++與PHP實現

來源:互聯網
上載者:User
資料結構是演算法實現的基礎,演算法總是要依賴於某種資料結構來實現的。往往是在發展一種演算法的時候,構建了適合於這種演算法的資料結構。一種資料結構如果脫離了演算法,也就沒有存在的價值了。

演算法的作用----解決任何一個實際問題,都不可避免地涉及到演算法的問題,通過一定的演算法,得到一個最優(或較優)的方案。

遞推演算法:遞推演算法是一種簡單的演算法,即通過已知條件,利用特定關係得出中間推論,直至得到結果的演算法。

順推法:從已知條件出發,逐步推算出要解決的問題的方法。

逆推法:從已知問題的結果出發,用迭代運算式逐步推算出問題的開始的條件,即順推法的逆過程。

順推執行個體:

兔子繁殖過程


c++代碼:

#includeint main(){    using namespace std;    const int NUM = 13;    int count = 0;    int rabbit[NUM] = {1,1};    for (int i=0; i  

php代碼:

";   }?>

C++編譯運行結果



逆推 執行個體:

父親準備為小龍的四年大學生活一次性儲蓄一筆錢,使用整存零取的方式,控制小龍每月月底取1000元準備下月使用。假設銀行整存領取的年息為1.71%,請算出父親至少需要存入多少錢才行。

c++代碼:

#includeint main(){    using namespace std;    const double RATE = 0.0171;    double money[48];    money[47] = 1000;    for (int i=47; i>0; i--)    {        money[i-1] = (money[i] + 1000)/(1+RATE/12);    }    for (int j=47; j>0; j--)    {        cout << "第 " << j << " 月本利合計為: " << money[j] << " 元\n";    }    return 0;}

php代碼:

0; $i--) {     $month[$i-1] = ($month[$i] + 1000)/(1+RATE/12); } for ($i=47; $i>0; $i--) {     echo "第 " . $i . " 月本息合計為:" . $month[$i] . "元
"; }?>

C++編譯運行結果

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.