递归递推练习题

news2024/11/18 15:40:38

1.用递归的方法1+2+3+…+N的值(in:5,out:15)

2.输出斐波那契数列的第N项,0,1,1,2,3,5,8,13…(in:3,out:1)

3.求n!(in:5,out:120)n!=123…*n

4.阿克曼(ackmann)函数A(m,n)中,m,n定义域是非负整数(m<=3,n<=10),函数值定义为(m,n in:2 3,out:9):
在这里插入图片描述

5.有5个人坐在一起,问第五个人多少岁,他说比第四个人大1岁;问第四个人多少岁,他说比第三个人大一岁;问第三个人多少岁,他说比第二个人大一岁,问第二个人多少岁,他说他比第一个人大一岁,问第一个人多少岁,他说他8岁,请问第5个人多少岁。(in:5,Out:12)

6.儿童节那天,有6位同学参加了钓鱼比赛,他们每个人钓到的鱼的数量都各不相同。问第一位同学钓了多少条鱼时,他指着第二位同学说比他多钓两条,问第二位同学,他又说比第三位同学多钓了两条鱼。最后问到第6位同学时,他又说自己钓了3条鱼。请问第一位同学钓了多少条鱼?(in:1,out:13)

7.设一共有n级台阶的楼梯,某人每步可走1级,也可以走2级,用递推的方式可以计算出某人从底层开始走完全部台阶的走法。例如,当n=3时,共有3种走法,即1+1+1,1+2,2+1.当n=6时,从底层开始走完全部台阶的走法共有多少种?(dt)

8.小马需要将N件物品从河的一岸搬运到河的另一岸,每次搬运的物品为1到3件。请问小马将N件物品全部搬运过去有多少种方案
例如: N=3,将3件物品全部搬运过去有4种方案:
方案一: 第一次搬运1件,第一次搬运1件,第三次搬运1件;
方案二: 第一次搬运1件,第二次搬运2件;
方案三: 第一次搬运2件,第二次搬运1件:
方案四: 一次搬运3件。
输入描述
输入一个正整数N,表示需要搬运的物品数输出描述输出将N件物品全部搬运过去有多少种方案
样例输入:3
样例输出:4
样例输入:4
样例输出:7

9.设计一个算法,汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。有三个单字符字符串和一个整数。三个字符表示三个杆子的编号,整数为盘子的数目。
根据上述计算规则,补全下列代码。
函数名:hannota(n,a,b,c)
参数表:n – 正整数表示盘子数,a --a杆子,b --b杆子,c --c杆子。
返回值:移动路径。
示例:n=3,返回:
A --> C
A --> B
C --> B
A --> C
B --> A
B --> C
A --> C

10.有一张 m*n 个小方格的地图,一个机器人位于地图的左上角(如图标记为Start 的地方),它每步只能向右或者向下移动一格,如果走到右下角的终点(如图标记为 Finish 的地方),有多少种不同的方法?
在这里插入图片描述

例如,一个 3x2 的地图,行走的方法数是 3 种,分别是
1.右>右>下
2.右>下->右
3.下->右>右
输入描述: 两个整数 m(m<=100)和 n(n<=100),代表地图的行数和列数
输出描述: 一个整数,表示行走的方法数。
[样例输入]
88
[样例输出]
3432

10.描述
把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。
输入
第一行是测试数据的数目t(0 <= t <= 20)。以下每行均包含二个整数M和N,以空格分开。1<=M,N<=10。
输出
对输入的每组数据M和N,用一行输出相应的K。
样例输入
1
7 3
样例输出
8

11.描述
给出一个正整数a,要求分解成若干个正整数的乘积,即a = a1 * a2 * a3 * … * an,并且1 < a1 <= a2 <= a3 <= … <= an,问这样的分解的种数有多少。注意到a = a也是一种分解。
输入
第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a (1 < a < 32768)
输出
n行,每行输出对应一个输入。输出应是一个正整数,指明满足要求的分解的种数
样例输入
2
2
20
样例输出
1
4

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/492548.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

STM32启动/下载模式

启动模式 主闪存存储器区存放用户设计的代码&#xff0c;代码烧录到这里&#xff0c;一般情况在正常工作时需要把STM32设置为从这里启动。 系统存储器区用来实现ISP功能的。 内嵌SRAM区用来实现调试器调试功能的。 ISP ISP一般由PC机通过串口把bin/hex文件直接烧写到单片机内…

java并发编程之美第五章读书笔记

java并发包中并发List源码剖析 介绍 CopyOnWriteArrayList 线程安全的ArrayList,对其进行的修改操作都是在底层的一个复制的数组(快照)进行的,也就是写时复制策略 类图 每一个对象里面有一个array数组进行存放具体的元素,ReentrantLock独占锁对象用来保证同时只有一个线程对…

Maven中optional标签详解

这一篇文章应该是全网讲解optional最细致的&#xff0c;因为我都是拿我自己的试验来证明&#xff0c;从试验当中也发现了很多出乎意外的知识&#xff01;感兴趣的跟着小编一块来学习呀&#xff01; 目录 一、前言二、依赖传递代码演示三、是否会影响父子工程之间的依赖继承呢&a…

精致女孩必备的6款APP,内外兼修,提升气质

自立自强、敢于追求、内外兼修&#xff0c;这样的女孩不管在哪个时代都是非常有魅力的&#xff01; 在我看来&#xff0c;自律、上进、情商高、会打扮、会赚钱、独立、落落大方&#xff0c;这才是精致女孩该有的样子。 不墨迹&#xff0c;速速揭开6款宝藏APP的面纱&#xff0…

石头科技2022年营收实现双位数增长,以技术实力打响创新价值战

近日&#xff0c;石头科技披露了2022年度财务报告&#xff0c;报告显示&#xff0c;在在较大内外部压力下&#xff0c;石头科技2022年营收依然实现双位数增长&#xff0c;且境内外销售收入平稳增长。 该公司在近年来不断完善其产品矩阵&#xff0c;目前已推出手持无线吸尘、商…

数据结构 (入门必看)

一、 预备知识 &#xff08;一&#xff09;数据结构前言 1、学习C语言是如何写程序,学习数据结构如何简洁高效的写程序 2、遇到一个实际问题&#xff0c;需要写程序&#xff0c;需要解决两个方面的问题 1)如何表达数据之间的逻辑规律以及如何将数据存储到计算机中 数据结构…

多数据源 使用 flyWay 进行数据库管理

文章目录 前言多数据源 使用 flyWay 进行数据库管理1. 环境2. flyway版本 与 MySQL 版本 对应关系3. flyway 脚本文件命名方式4. flyway工作流程5. 知识点补充6. 集成的时候常见错误6.1. user_variables_by_thread没有访问权限6.2. MySQL不支持Flyway社区版&#xff0c;只支持F…

68元工业级双核A7,全新T113核心板震撼上市!

万象奥科全新T113核心板震撼上市&#xff0c;仅68元、工业级品质、双核A7处理器、外设丰富&#xff0c;诠释极致性价比&#xff01; 参数速递 1.全志T113工业级处理器&#xff0c;主频1.2GHz 2.双核Cortex-A7玄铁C906 RISC-V HiFi4 DSP异构多核 3.内存128MB/256MB/512MB&a…

【Kafka】概述与集群部署

文章目录 Kafka概述定义应用场景缓冲/削峰解耦异步通信 应用模式点对点模式发布/订阅模式 基础架构 Kafka集群部署集群规划下载解压修改配置文件分发安装包hadoop103、hadoop104修改配置文件配置环境变量启动集群先启动Zookeeper集群然后启动Kafka 关闭集群 集群启停脚本脚本编…

QT自学笔记2:使用介绍(函数)

一、 setAttribute&#xff08;按F1&#xff09;—>void QWidget::setAttribute(Qt::WidgetAttribute attribute, bool on true) —>Qt::WidgetAttribute attribute&#xff08;有一个属性&#xff09; ----> p->setAttribute(Qt::WA_DeleteOnClose); MainWind…

眼见为实,来瞧瞧MySQL中的隐藏列!

在介绍mysql的多版本并发控制MVCC的过程中&#xff0c;我们提到过mysql中存在一些隐藏列&#xff0c;例如行标识、事务ID、回滚指针等&#xff0c;不知道大家是否和我一样好奇过&#xff0c;要怎样才能实际地看到这些隐藏列的值呢&#xff1f; 本文我们就来重点讨论一下诸多隐…

ThingsBoard集群部署之k8s

1、概述 今天终于有时间去搞这个啦,拖了很久了,一直没时间,因为我本地没有那么多机器资源,开虚拟机不够,如果租用阿里云服务器,需要有充值的时间,因为这个费用是按小时付费,需要有连贯的时间来搞才行,今天恰好有时间,就开始搞了,弄成功搞出来了,特地写博客记录下来…

Linux基本指令【Linux操作系统】

本文将开启Linux操作系统学习新篇章&#xff0c;欢迎与博主一起交流学习。 目录 一、ls指令 二、pwd指令 三、mkdir与rm指令 四、cd指令 五、touch指令 六、man指令&#xff08;重要&#xff09; 七、cp指令&#xff08;重要&#xff09; 八、mv指令&#xff08;重要&…

keepalived如何手动切换主备

概述 主备部署中使用keepalived可以很方便的实现&#xff0c;安装维护简单&#xff0c;功能稳定。 最近在使用过程中有小的发现&#xff0c;记录一下。 环境 CentOS Linux release 7.9.2009 (Core) keepalived.x86_64 1.3.5-19.el7 安装配置 centos7自带的keepalived版本…

提升自我数据分析能力的根本,是方法论!

很多人问&#xff0c;我是财务&#xff0c;能转行业做BI吗&#xff1f;我该学些什么&#xff1f;该掌握哪些技能&#xff1f;该如何学习&#xff1f;我是学生&#xff0c;在校期间专业不扎实&#xff0c;该怎么办&#xff1f;我是小白&#xff0c;还能学会数据分析吗&#xff1…

第二届“强国青年科学家”获奖者均有海外经历

今天是五四青年节&#xff0c;为了弘扬五四精神&#xff0c;知识人网小编本期专门介绍10名第二届“强国青年科学家”获奖者。特别提示&#xff1a;这些科学家均具有海外留学或研究经历。 五四精神的核心内容为“爱国、进步、民主、科学”。 进一步弘扬科学精神&#xff0c;营造…

找不到vcruntime140.dll,无法继续执行代码,解决方法分享

找不到vcruntime140.dll,无法继续执行代码&#xff1f;vcruntime140.dll 是 Visual Studio 2015 运行库的 Dynamic Link Library 文件&#xff0c;许多 Windows 应用程序需要它才能正常运行。当你尝试安装或运行某些应用程序时&#xff0c;有时可能会遇到找不到 vcruntime140.d…

电压放大器的实际应用有哪些方面

电压放大器是一种电子设备&#xff0c;用于增加信号的电压&#xff0c;使得信号具备更大的电压和功率去驱动负载&#xff0c;或者是更容易被检测、传输和处理。电压放大器的基本原理是将输入信号增加一个固定的电压值&#xff0c;以使得输出信号的幅值与输入信号的幅值相同或更…

怎样才能学好数据分析?

俗话说&#xff0c;先入行再求发展&#xff0c;好比你想彩票中奖&#xff0c;得先有买这个过程才行。想成为优秀数据分析也是如此&#xff0c;先掌握好这门技能入行后&#xff0c;再谈发展和深研。很多人都想拥有高薪双休又不加班的工作&#xff0c;比如数据分析&#xff0c;但…

在制造业的工业2.0中应用MOM系统

介绍 什么是制造运营管理 (MOM) 系统和 IT 架构的最佳实践&#xff1f; 行业专家对制造类型和供应网络有何建议&#xff1f; 管理思维和企业文化是否因不断变化的全球市场而过时&#xff1f; MOM 技术是否过于昂贵&#xff0c;IT 架构是否无法快速适应市场变化&#xff1f;…