当前位置: 首页 > news >正文

递推概念和例题

一、什么是递推

递推算法以初始值为基础,用相同的运算规律,逐次重复运算,直至求出问题的解,它的本质是按照固定的规律逐步推出(计算出)下一步的结果

这种从“起点”重复相同的的方法直至到达问题的解,犹如单向运动,使用循环来实现 

递推算法的两个核心:

①如何通过已知项得到下一项,找出固定的规律,即:递推公式。

②从什么地方开始递推,确定第一项的值,即:初始状态(初始值)。

二、初试身手

 

这是一个典型递推问题,它的初始状态和递推公式分别是什么。

初始值为第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;
}

 

 骨牌铺法

题目描述

有2*n的一个长方形方格,用一个1*2的骨牌铺满方格,对于给出的任意一个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;
}

 

http://www.lryc.cn/news/491519.html

相关文章:

  • 开发工具 - VSCode 快捷键
  • 数据库的联合查询
  • 【人工智能】基于PyTorch的深度强化学习入门:从DQN到PPO的实现与解析
  • 【深度学习】【RKNN】【C++】模型转化、环境搭建以及模型部署的详细教程
  • CentOS环境上离线安装python3及相关包
  • 学习threejs,使用设置bumpMap凹凸贴图创建褶皱,实现贴图厚度效果
  • React表单联动
  • 408数据结构:栈、队列和数组选择题做题笔记
  • sql工具!好用!爱用!
  • 嵌入式驱动开发详解3(pinctrl和gpio子系统)
  • 【C++】IO库(一):IO类
  • uniapp介入极光推送教程 超级详细
  • 阿里云整理(一)
  • 论文笔记 网络安全图谱以及溯源算法
  • 室内定位论文速递(11.23-11.25)
  • 英伟达推出了全新的小型语言模型家族——Hymba 1.5B
  • 云网络基础- TCP/IP 协议
  • android 音效可视化--Visualizer
  • Python人工智能项目报告
  • DockerFile 构建基础镜像
  • 卷积神经网络学习记录
  • 5种常见的k8s云原生数据管理方案详解
  • [C++]了解内置类型升级
  • docker镜像源配置、换源、dockerhub国内镜像最新可用加速源(仓库)
  • 什么是 WPF 中的依赖属性?有什么作用?
  • 241125学习日志——[CSDIY] [ByteDance] 后端训练营 [16]
  • 如何优化 PHP 性能?
  • 【Linux服务器】内存问题排查
  • ModuleNotFoundError: No module named ‘simple_knn‘
  • 【论文分享】采用现场测量、卫星影像和机器学习方法研究空气温度与城市发展强度之间的关系