递推概念和例题
创作时间:
作者:
@小白创作中心
递推概念和例题
引用
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;
}
热门推荐
游采石矶需要多少时间?采石矶游玩要多久?一份详细时间规划攻略助你玩转!
如何有效的优化机械硬盘
铸造装备之中频感应炉发展介绍
琥珀:一种珍贵药材的多重功效与使用指南
怎样保养琥珀?让您的琥珀保持光泽与美丽的秘诀
猫咪适应新环境,小技巧大帮助!
美术好的游戏下载合集 2024经典的艺术风格手游大全
性别认同障碍的原因有哪些方面表现
工业齿轮油的选用原则——如何选用合适的工业齿轮油?
家电产品哪些需要CCC认证?如何查询CCC认证证书?
研学旅行力促铜川教育与经济文化深度融合
健康险和医疗险的区别:从定义到服务全方位解析
董宇辉职位变动背后:直播行业的变局与挑战
康复——肘腕|肱三头肌远端肌腱断裂修复术后康复程序
股票隔夜单操作指南:从入门到精通
如何培训团队奉献精神
数字化急救:急救虚拟仿真实训系统
郑钦文爆冷出局 其实她曾考虑因伤退赛
从“冲量扩张”到“价值驱动” 保险代理人转型提速
劳保手套尺寸选择全知道:舒适与防护兼得的关键
DDR4 SDRAM:现代计算机系统的主流内存标准
从电子垃圾中提炼贵金属黄金
自动驾驶合规宝典5~ADS安全评估和验证概述
外贸客户背调:如何精准挖掘高价值买家?
黄金再度与美元、美债收益率同涨!这是否暗示着什么?
参与·融入·互识·共进——中国当代学术“走出去”策略
JS回调方法出错怎么办?11个实用解决方案
一篇文章带你了解音乐版权,教你合理使用音乐版权
关于白蛋白的知识,你需要明明白白?
如何通过5G技术提升医疗领域的服务质量?