递推概念和例题
创作时间:
作者:
@小白创作中心
递推概念和例题
引用
CSDN
1.
https://m.blog.csdn.net/wangzihao0910/article/details/144037431
一、什么是递推
递推算法以初始值为基础,用相同的运算规律,逐次重复运算,直至求出问题的解,它的本质是按照固定的规律逐步推出(计算出)下一步的结果
这种从“起点”重复相同的方法直至到达问题的解,犹如单向运动,使用循环来实现
递推算法的两个核心:
- 如何通过已知项得到下一项,找出固定的规律,即:递推公式。
- 从什么地方开始递推,确定第一项的值,即:初始状态(初始值)。
二、初试身手
这是一个典型递推问题,它的初始状态和递推公式分别是什么。
初始值为第1天的需要的草量f(1)=2。
递推公式为:f(n) = f(n-1)+1
小编秘方:只要求出一道题的递推公式,题目就迎难而上解决啦
可是递推公式怎么求,让我用真题告诉你
三、小试牛刀
上台阶
题目描述
楼梯有n(71>n>0)阶台阶,上楼时可以一步上1阶,也可以一步上2阶,也可以一步上3阶,编程计算走到第n阶台阶,共有多少种不同的走法。
输入格式
输入的每一行包括一组测试数据,即为台阶数n。最后一行为0,表示测试结束。
输出格式
每一行输出对应一行输入的结果,即为走法的数目。
输入输出样例
输入样例1:
1
2
3
4
0
输出样例1:
1
2
4
7
满分代码
#include<bits/stdc++.h>
using namespace std;
long long a[75];
int main(){
int n;
a[1]=1;
a[2]=2;
a[3]=4;
while(cin>>n&&n!=0){
for(int i=4;i<=n;i++){
a[i]=a[i-1]+a[i-2]+a[i-3];
}
cout<<a[n]<<endl;
}
return 0;
}
骨牌铺法
题目描述
有2n的一个长方形方格,用一个12的骨牌铺满方格,对于给出的任意一个n(1 <= n<= 46),输出铺法的总数
输入格式
一行,一个整数n
输出格式
一行,一个整数表示铺法的总数
输入输出样例
输入样例1:
2
输出样例1:
2
#include<bits/stdc++.h>
using namespace std;
long long a[50];
int main(){
int n;
cin>>n;
a[1]=1;
a[2]=2;
for(int i=3;i<=n;i++){
a[i]=a[i-1]+a[i-2];
}
cout<<a[n];
return 0;
}
热门推荐
金三银四前写给求职者的保姆级简历教程
荨麻疹的防与治,要注意这些!
这一站,济南!秋日Country walk,怎能错过莱芜这个宝藏古村!
茶叶喝不完怎么办?茶叶该如何保存?
小冰冰传奇怀旧服最强防守阵容:死灵法领衔五人组
Protocol介绍 | 人体颅内解剖学和电生理数据的综合分析
戏曲中的生、旦、净、末、丑是怎么来的?看完涨知识了!
一转头就忘记自己要干嘛?当心变“笨”!这几招教你如何“护脑”
减油减盐,健康生活从舌尖开始!这些核心知识请查收
中国唯一2角硬币:历史孤品的价值密码与收藏指南
干眼症什么药物治疗好用
深圳时装如何挺进国际市场?
风起云涌,唐诗中的风意象探析
提升思维效率的秘密:六顶思考帽的应用与技巧
旧车牌号过户到新车上的详细流程及注意事项
什么是ARM处理器?与x86的比较及其优缺点
脾胃喜欢的5种食物,补足气血、养好脾胃
北京航空航天大学专业排行榜前十名 北京航空航天大学最好的十大专业
量子粒子在虚拟现实中的行为:探索虚拟世界中的量子物理
新房装修必备的家电大盘点 十种新家入住必备家电推荐
合肥近视手术医保政策解读:价格、报销比例全攻略
桂花叶尖枯焦是什么原因?
种子催芽的五种方法
还款计划及方式的编写步骤详解
如何设置基金止损止盈并合理控制风险?这种风险控制的方法有哪些?
艺评 血与火铸就永恒爱国情怀——民族歌剧《同心结》评析
麦肯锡重磅报告:AI对哪些行业冲击最大?
如何明智选择适合自己的基金产品?这些产品的风险评估如何进行?
纹手臂花边多少钱?价格、图案、注意事项全解析!
细胞交通控制:戈谢病的底物减少疗法