递推概念和例题
创作时间:
作者:
@小白创作中心
递推概念和例题
引用
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;
}
热门推荐
孕期裁员补偿工资如何计算
《哪吒2》片方收入或超30亿,光线传媒和导演谁赚得多?
日本银发人才如何实现自我价值(国际视点)
跑步的方法不对,会造成膝盖的损伤,看看你的方法是否正确吧
北京医保个人账户余额查询攻略:两种便捷查询方式详解
蜀山战纪之剑侠传奇
樱桃树的修剪技巧(掌握正确修剪方法,提高果树产量)
梦见打牌输钱的心理学解析:从风险意识到自我价值
四十年守护 旗舰物种大熊猫的非凡跨越
如何在墙上悬挂或固定镜子:完整实用的指南
探访深圳“高铁4S店”,看动车“零故障”保养秘籍
合理避税的法律风险如何通过合同规避
数字赋能让千年文脉“活”起来
春天为什么会飘柳絮作文?
一半诗意,一半烟火,都在上海这个千年古镇里
从考古到向公众阐释——“秦始皇陵考古发现展”的策展实践与思考
ETC电池能用多久?更换方法图解来了
ETC系统故障原因及解决方法全攻略
高血压四项报告单解读
雷军放话:今年交付35万辆!小米汽车产能提升迫在眉睫
咽喉炎都是怎么引起的?一文详解病因与应对方法
睡莲的养护方法
北京地铁三期规划新进展:5条线路调整与建设动态
我国儿童抽动障碍患者近1000万,武汉专家主编的国内首部专著上线3.0版
从长春出发到长白山自驾游最佳路线和攻略
安商房和商品房的区别?
人民币收藏有风险,投资需谨慎
高一新生如何精准自我定位?
游戏视觉设计:打造沉浸式体验的艺术与技巧
如何区分正当防卫和互殴