1.2递推算法

1 生兔子问题

 1 #include <stdio.h>
 2 #define NUM 13
 3 int main()
 4 {
 5     int i;
 6     long fib[NUM] = {1,1};
 7
 8     for(i=2;i<NUM;i++)
 9     {
10         fib[i] = fib[i-1]+fib[i-2];
11     }
12     for(i=0;i<NUM;i++)
13     {
14         printf("%d月兔子总数:%d\n", i, fib[i]);
15     }
16     getch();
17     return 0;
18 }

2 存钱问题

 1 #include <stdio.h>
 2 #define FETCH 1000
 3 #define RATE 0.0171
 4 int main()
 5 {
 6     double corpus[49];
 7     int i;
 8     corpus[48]=(double)FETCH;
 9     for(i=47;i>0;i--)
10     {
11         corpus[i]=(corpus[i+1]+FETCH)/(1+RATE/12);
12     }
13     for(i=48;i>0;i--)
14     {
15         printf("第%d月末本利合计:%.2f\n",i,corpus[i]);
16     }
17     getch();
18     return 0;
19 }
时间: 2024-10-12 21:32:03

1.2递推算法的相关文章

斐波那契 递推算法

/***Date : 2014.12.10***/ //递推算法:是理性思维模式的代表,根据已有的数据和关系,逐步推导而得出结果. //执行过程:1)根据已知的结果和关系,求解中间结果. ///////////////////// 2)判断是否满足要求,若未满足,则继续根据已知结果和关系求解中间结果:若满足要求,则表示寻找到一个正确答案. //13世纪,意大利数学家斐波那契的<算盘书>中记载:兔子产仔问题. //一对两个月大的兔子,每月都可产仔一对,小兔子两月后的每月也可产仔一对;即1月生,3

数的计数——递推算法

Problem Description 我们要求找出具有下列性质数的个数(包括输入的自然数n).先输入一个自然数n(n<=1000),然后对此自然数按照如下方法进行处理: 不作任何处理: 在它的左边加上一个自然数,但该自然数不能超过原数的一半: 加上数后,继续按此规则进行处理,直到不能再加自然数为止. Input 输入有多组数据,每组数据为自然数n. Output 对于每组数据输出满足条件的数的个数. Sample Input 6 Sample Output 6 Hint 满足条件的数为6,16

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

数据结构是算法实现的基础,算法总是要依赖于某种数据结构来实现的.往往是在发展一种算法的时候,构建了适合于这种算法的数据结构.一种数据结构如果脱离了算法,也就没有存在的价值了. 算法的作用----解决任何一个实际问题,都不可避免地涉及到算法的问题,通过一定的算法,得到一个最优(或较优)的方案. 递推算法:递推算法是一种简单的算法,即通过已知条件,利用特定关系得出中间推论,直至得到结果的算法. 顺推法:从已知条件出发,逐步推算出要解决的问题的方法. 逆推法:从已知问题的结果出发,用迭代表达式逐步推算

组合数递推算法

主要式子:C(n,k)=C(n-1,k-1)+C(n-1,k),C(n,k)表示从n个物品中挑选k个物品的所有组合数. 1 #include<stdio.h> 2 #include<string.h> 3 #define N 10 4 int c[N][N]; 5 void init() 6 { 7 memset(c,0,sizeof(c)); 8 for(int i=0;i<=N;i++) 9 { 10 c[i][0]=1; 11 c[i][i]=1; 12 for(int

c语言递推算法1

递推算法之一:倒推法 1.一般分析思路: if 求解初始条件F1 then begin { 倒推 } 由题意(或递推关系)确定最终结果Fn; 求出倒推关系式Fi-1 =G(Fi ); i=n; { 从最终结果Fn出发进行倒推 } while 当前结果Fi非初始值F1 do 由Fi-1=G(Fi)倒推前项; 输出倒推结果F1和倒推过程; end { of then } else begin { 顺推 } 由题意(或递推关系)确定初始值F1(边界条件); 求出顺推关系式Fi=G(Fi-1); i=1

递推算法

递推算法 一.递推算法简介 一般是两步: 1.根据题目条件推出递推公式 2.根据递推公式编写代码求解(一般可以写成普通循环和递归) 二.实例 2.1 斐波拉契数列 斐波拉契数列,1 1 2 3 5 8 13 21 34......,写出第n项. (1)递推公式 f(n)=f(n-1)+f(n-2) f(1)=1,f(2)=1; (2)代码 1 #include <iostream> 2 using namespace std; 3 4 int Fibonacci(int n); 5 int F

滑动平均滤波算法(递推平均滤波法)

//滑动平均滤波算法(递推平均滤波法) //ADNum为获得的AD数 //GN为数组value_buf[]的元素个数.该函数主要被调用,利用参数的数组传值 const int GN = 12; int filterPtr = 0; bool isFirst = true; public float gSum = 0; float[] gbuf  = new float[GN]; float GlideFilterAD(float ADNum) { if (isFirst) { isFirst =

算法--递推策略

本文地址:http://www.cnblogs.com/archimedes/p/4265019.html,转载请注明源地址. 递推法是一种重要的数学方法,在数学的各个领域中都有广泛的运用,也是计算机用于数值计算的一个重要算法.这种算法特点是:一个问题的求解需一系列的计算,在已知条件和所求问题之间总存在着某种相互联系的关系,在计算时,如果可以找到前后过程之间的数量关系(即递推式),那么,从问题出发逐步推到已知条件,此种方法叫逆推.无论顺推还是逆推,其关键是要找到递推式.这种处理问题的方法能使复杂

一天一道算法题---6.6---排列递推(我不会)

感谢微信平台: 一天一道算法题-----每天多一点进步--- 好吧 这题 我看了它的分析 还是感觉很不清晰 自己的思路 闪过 逆序数 但也不行,,, 把题目 先放上来 problem:列出一个 1~n 的排列 可以通过一系列的交换得到(1,2,3--n)比如,{2,1,4,3}需要两次交换(1和2 3和4),(4,2,3,1)需要一次(4和1):给定n和k 统计有多少个排列至少需要K次交换能变成(1,2,3--n); 各位 大神 不要吝啬 留下你们的思路与想法 告知我 thanks... 今天