聪明一点的递推算法(二)

Posted on 2018-10-25 14:10  时光top  阅读(311)  评论(0编辑  收藏  举报

一、递推算法思想

  利用已知条件,逐步递推,直到得到结果为止。两种递推算法:顺推法、逆推法。

二、实例演练

  (1)兔子繁殖问题。

   代码实现:

#include "stdio.h"
#define NUM 13
int main()
{
    int i;
    long fib[NUM] = { 1, 1 };//定义一个拥有13个元素的数组,用于保存兔子的初始数量和每月的总数
    //顺推每个月的总数
    for (i = 2; i < NUM;i++)
    {
        fib[i] = fib[i - 1] + fib[i - 2];
    }
    //循环输出每个月的总数
    for (i = 0; i < NUM;i++)
    {
        printf("第%d月兔子总数:%d\n",i,fib[i]);
    }
    system("pause");
    return 0;

}

   实现结果:

  (2)银行存款问题

   代码实现:

#include "stdio.h"
#define FETCH 1000
#define RATE 0.0171
int main()
{
    double corpus[49];
    int i;
    corpus[48] = (double)FETCH;
    for (i = 47; i > 0;i--)
    {
        corpus[i] = (corpus[i + 1] + FETCH) / (1 + RATE / 12);
    }
    for (i = 48; i > 0;i--)
    {
        printf("%d月月末本利共计:%.2f\n", i, corpus[i]);
    }
    system("pause");
    return 0;
}

   实现结果:

 

Copyright © 2024 时光top
Powered by .NET 9.0 on Kubernetes