• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

数据结构与算法之递推算法 C++与PHP实现

php 搞代码 3年前 (2022-01-23) 23次浏览 已收录 0个评论

数据结构是算法实现的基础,算法总是要依赖于某种数据结构来实现的。往往是在发展一种算法的时候,构建了适合于这种算法的数据结构。一种数据结构如果脱离了算法,也就没有存在的价值了。

算法的作用—-解决任何一个实际问题,都不可避免地涉及到算法的问题,通过一定的算法,得到一个最优(或较优)的方案。

递推算法:递推算法是一种简单的算法,即通过已知条件,利用特定关系得出中间推论,直至得到结果的算法。

顺推法:从已知条件出发,逐步推算出要解决的问题的方法。

逆推法:从已知问题的结果出发,用迭代表达式逐步推算出问题的开始的条件,即顺推法的逆过程。

顺推实例:

兔子繁殖过程

c++代码:

#includeint main(){    using namespace std;    const int NUM = 13;    int count = 0;    int rabbit[NUM] = {1,1};    for (int i=0; i<NUM-2; i++)    {        rabbit[i+2] = rabbit[i] + rabbit[i+1];    }    for (int j=0; j<NUM; j++)    {        cout << j << "月兔子总数: " << rabbit[j] << "只\n";    }    return 0;}

php代码:

<?php   $rabbit = array();   $rabbit[1] = $rabbit[0] =1;   defin本@文来源gao($daima.com搞@代@#码(网5搞gaodaima代码e("MONTH", 12);   for ($i=2; $i<=MONTH; $i++) {       $rabbit[$i] = $rabbit[$i-2] + $rabbit[$i-1];   }   for ($i=0; $i<=MONTH; $i++) {       echo "第 " . $i . " 月,兔子总数量为:". $rabbit[$i] . "只
"; }?>

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代码:

<?php    $month = array(); $month[47] = 1000; define("RATE", 0.0171); for ($i=47; $i>0; $i--) {     $month[$i-1] = ($month[$i] + 1000)/(1+RATE/12); } for ($i=47; $i>0; $i--) {     echo "第 " . $i . " 月本息合计为:" . $month[$i] . "元
"; }?>

C++编译运行结果


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:数据结构与算法之递推算法 C++与PHP实现
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址