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

递归问题(c++)

递归设计思路


数列递归 : 如果一个数列的项与项之间存在关联性,那么可以使用递归实现 ;
原理 : 如果一个函数可以求A(n),那么该函数就可以求A(n-1),就形成了递归调用 ;
注意: 一般起始项是不需要求解的,是已知条件

这就是一个典型的递归问题。

假如有一个小和尚,3岁上山,老和尚每年给小和尚讲一遍,一直讲到18岁。

用代码实现这个问题。

#include<iostream>
#include<iomanip>
using namespace std;
void func();
int age = 3;
int main()
{func();return 0;
}
void func()
{if(age == 18) return;cout<<"从前有座山,山里有祖庙,庙里有个老和尚在给小和尚讲故事,讲的什么呢?"<<endl;age++;func();
}

递归求解问题的过程 :


第一步 : 找出规律
第二步: 函数调用自己求解前面的项
第三步: 交代起始项,让递归能够停止

目录

递归设计思路

递归求解问题的过程 

数数小木块

题目描述

统计每个月兔子的总数

题目描述

求s的值

题目描述

数列求和

题目描述

数数小木块

题目描述


在墙角堆放着一堆完全相同的正方体小木块,如下图所示:
因为木块堆得实在是太有规律了,你只要知道它的层数就可以计算所有木块的数量了。


输入
只有一个整数 n ,表示这堆小木块的层数,已知 1≤n≤100 。
输出
只有一个整数,表示这堆小木块的总数量。

#include<iostream>
#include<iomanip>
using namespace std;
int func(int x);
int main()
{int n;cin>>n;int sum =  0;for(int i = 1;i<=n;i++){sum = sum + func(i);}cout<<sum;return 0;
}
int func(int x)
{if(x==1) return 1;return x + func(x-1);
}


统计每个月兔子的总数

题目描述


有一对兔子,从出生后第3个月起每个月都生一对兔子,一对
小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,
问第n个月(n<=50)的兔子总数为多少对?
输入
输入1个整数n,表示第几个月
输出
第n个月兔子的总数量有多少对?                      
样例
输入复制
9
输出复制
34

#include<iostream>
#include<iomanip>
using namespace std;
int func(int x);
int main()
{int n;cin>>n;cout<<func(n);return 0;
}
int func(int x)
{if(x==1) return 3;return func(x-1) + func(x-2);
}

求s的值

题目描述


求S=1+2+4+7+11+16…的值刚好大于等于 5000时S 的值。
输入

输出
一行,一个整数

#include<iostream>
#include<iomanip>
using namespace std;
int func(int x);
int main()
{int n;cin>>n;cout<<func(n);return 0;
}
int func(int x)
{if(x==1) return 1;if(x==2) return 2;int he = func(x-1) + func(x-2);return he;
}

数列求和

题目描述


有一数列如下: 1 2 4 7 11 16 22 …… 试求该数列前N 项之和。
输入
一个整数N ( 0<N<1000 )。
输出
一个整数。
输入复制
6
输出复制
41

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{int n;cin>>n;int cnt = 1;for(int i = 1;i<=n;i++){cnt = cnt+i+2;}cout<<cnt;return 0;
}

相关文章:

递归问题(c++)

递归设计思路 数列递归 : 如果一个数列的项与项之间存在关联性&#xff0c;那么可以使用递归实现 ; 原理 : 如果一个函数可以求A(n)&#xff0c;那么该函数就可以求A(n-1)&#xff0c;就形成了递归调用 ; 注意: 一般起始项是不需要求解的&#xff0c;是已知条件 这就是一个典型…...

系统思考—战略决策

别用管理上的勤奋&#xff0c;来掩盖经营上的懒惰。 日本一家物业公司&#xff0c;因经营不善&#xff0c;面临生死存亡的危机。老板为了扭转局面&#xff0c;采取了很多管理手段——提高员工积极性&#xff0c;推行业绩与绩效挂钩&#xff0c;实施各种考核制度。然而&#xf…...

wxwidgets xml插入图片的两种方案

wxwidgets xml插入图片的两种方案: 1.使用wxWidgets中的wxRichTextCtrl插入图片,将wxRichTextCtrl的buffer导出为xml文件 参考richtextctrl例子 if (wxTheClipboard->IsSupported(wxDF_BITMAP)){wxBitmapDataObject data;wxTheClipboard->GetData(data);wxBitmap bi…...

大模型呼入机器人如何赋能呼叫中心?(转)

大模型呼入机器人如何赋能呼叫中心&#xff1f;(转) 原作者&#xff1a;开源呼叫中心FreeIPCC 大模型呼入机器人在赋能呼叫中心方面发挥着重要作用&#xff0c;主要体现在以下几个方面&#xff1a; 一、提升服务效率与质量 24小时不间断服务&#xff1a; 大模型呼入机器人能…...

linux下socket本地套接字通讯

使用套接字除了可以实现网络间不同主机间的通信外&#xff0c;还可以实现同一主机的不同进程间的通信&#xff0c;且建立的通信是双向的通信。socket进程通信与网络通信使用的是统一套接口&#xff0c;只是地址结构与某些参数不同。 用途 进程间通信&#xff1a;本地套…...

NDRCContextUnmarshall断点函数分析之I_RpcBindingCopy函数的作用

NDRCContextUnmarshall断点函数分析之I_RpcBindingCopy函数的作用 第一部分&#xff1a; void RPC_ENTRY NDRCContextUnmarshall ( // process returned context OUT NDR_CCONTEXT PAPI *phCContext,// stub context to update IN RPC_BINDING_HANDLE hRPC, …...

WebView2教程(基于C++)【一】环境初始化

创建一个VisualStudio C项目&#xff0c;通过NuGet包管理器安装两个包&#xff1a; 注意&#xff0c;在项目属性页设置项目使用&#xff1a;C 20&#xff0c;子系统设置成窗口&#xff08;相应的预处理器也要改变&#xff09;&#xff0c;DPI识别设置成每个监视器高DPI识别。 …...

go语言中context的用法

0 概述 Context 是 Go 语言中非常重要的一个概念&#xff0c;它主要用于跨多个函数或 goroutine 传递 取消信号、超时控制、截止时间 和 请求范围数据。在并发编程中&#xff0c;Context 提供了更好的控制和管理&#xff0c;尤其是当你需要在多个 goroutine 之间传递状态或进行…...

概括网络给社会生活带来的种种影响

题目 【2002年国考申论】给定资料反映了网络给社会生活带来的种种影响&#xff0c;用不超过200字对这些影响进行概括。 要求&#xff1a;全面&#xff0c;有条理&#xff0c;有层次。(20分) 审题 特定事实&#xff1a;网络给社会生活带来的种种影响基本题型&#xff1a;单一…...

OpenCV相机标定与3D重建(16)将点从齐次坐标转换为非齐次坐标函数convertPointsFromHomogeneous()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 cv::convertPointsFromHomogeneous 是 OpenCV 库中的一个函数&#xff0c;用于将点从齐次坐标&#xff08;homogeneous coordinates&#xff09;…...

Jmeter如何对UDP协议进行测试?

Jmeter如何对UDP协议进行测试&#xff1f; 1 jmeter-plugins安装2 UDP-Protocol Support安装3 UDP协议测试 1 jmeter-plugins安装 jmeter-plugins是Jmeter的插件管理器&#xff1b;可以组织和管理Jmeter的所有插件&#xff1b;直接进入到如下页面&#xff0c;选择如图的选项进…...

Unix 传奇 | 谁写了 Linux | Unix birthmark

注&#xff1a;本文为 “左耳听风”陈皓的 unix 相关文章合辑。 皓侠已走远&#xff0c;文章有点“年头”&#xff0c;但值得一阅。 文中部分超链已沉寂。 Unix 传奇 (上篇) 2010 年 04 月 09 日 陈皓 了解过去&#xff0c;我们才能知其然&#xff0c;更知所以然。总结过去…...

【网络】传输层协议UDP/TCP网络层IP数据链路层MACNAT详解

主页&#xff1a;醋溜马桶圈-CSDN博客 专栏&#xff1a;计算机网络原理_醋溜马桶圈的博客-CSDN博客 gitee&#xff1a;mnxcc (mnxcc) - Gitee.com 目录 1.传输层协议 UDP 1.1 传输层 1.2 端口号 1.3 UDP 协议 1.3.1 UDP 协议端格式 1.3.2 UDP 的特点 1.3.3 面向数据报 1…...

RTMP推流平台EasyDSS在无人机推流直播安防监控中的创新应用

无人机与低空经济的关系密切&#xff0c;并且正在快速发展。2024年中国低空经济行业市场规模达到5800亿元&#xff0c;其中低空制造产业占整个低空经济产业的88%。预计未来五年复合增速将达到16.03%。 随着科技的飞速发展&#xff0c;公共安防关乎每一个市民的生命财产安全。在…...

ORACLE逗号分隔的字符串字段,关联表查询

使用场景如下&#xff1a; oracle12 以前的写法&#xff1a; selectt.pro_ids,wm_concat(t1.name) pro_names from info t,product t1 where instr(,||t.pro_ids|| ,,,|| t1.id|| ,) > 0 group by pro_ids oracle12 以后的写法&#xff1a; selectt.pro_ids,listagg(DIS…...

1.5 多媒体系统简介

目录 多媒体系统声音图形与图像动画和视频 多媒体系统 多媒体可分为感觉媒体、表示媒体、表现媒体、交换媒体。 感觉媒体&#xff1a;直接使人产生感觉的媒体&#xff0c;比如声音、图像、视频。表示媒体&#xff1a;计算机中记录感觉的数据格式。表现媒体&#xff1a;记录感觉…...

数据分析学习Day1-使用matplotlib生成2小时每分钟的气温可视化分析图

注意&#xff1a;需要提前下载matplotlib包 pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple import matplotlib.pyplot as plt import random from matplotlib import font_manager # 数据准备 x list(range(121)) # 使用 list() 转换为列表 y [rando…...

ansible部署nginx:1个简单的playbook脚本

文章目录 hosts--ventoryroles执行命令 使用ansible向3台centos7服务器上安装nginx hosts–ventory [rootstand playhook1]# cat /root/HOSTS # /root/HOSTS [webservers] 192.168.196.111 ansible_ssh_passpassword 192.168.196.112 ansible_ssh_passpassword 192.168.196.1…...

三、汇总统计

1.SUM、COUNT、AVERAGE 注意&#xff1a;count函数是计算区域中包含数字的单元格的个数&#xff0c;以上案例中两个空白单元格和一个中文列标题都是没有计算在内的。 平均函数AVERAGE也是按照17进行求平均值的。所以在使用平均值的函数时候&#xff0c;可以根据实际情况看是…...

opencv实现给图像加上logo图像

要用Python和OpenCV给图片加上logo&#xff0c;可以按照以下步骤实现&#xff1a; 读取logo和image图片。 调整logo的大小以适应image。 将logo放置在image的指定位置。 将logo和image合并。 以下是实现代码&#xff1a; import cv2# 读取logo和image图片 logo cv2.imre…...

张雪机车五夺WSBK分站冠军,海光信息成国产芯片一哥,硬核科技崛起!

张雪机车&#xff1a;WSBK赛场五度夺冠 昙花一现&#xff1f;不&#xff0c;现在都五现了。5月16 - 17日的WSBK捷克站&#xff0c;车手德比斯驾驶张雪机车820RR赛车&#xff0c;连续两回合夺冠。这是张雪机车本赛季第五个WSBK分站冠军。 如果说最早一次的夺冠是处于“新车优待期…...

Pydantic序列化避坑指南:model_dump vs dict、exclude/include高级用法与SerializeAsAny解析

Pydantic序列化避坑指南&#xff1a;model_dump vs dict、exclude/include高级用法与SerializeAsAny解析 在Python生态中&#xff0c;Pydantic已经成为数据验证和序列化的标杆工具。但许多开发者在实际使用中&#xff0c;常常会遇到一些看似简单却容易踩坑的序列化问题。本文将…...

Flowable工作流回退功能避坑指南:从ruoyi-vue-pro源码看如何优雅处理并行网关

Flowable工作流并行网关回退机制深度解析&#xff1a;从ruoyi-vue-pro看复杂场景解决方案 在业务流程自动化领域&#xff0c;并行网关的处理一直是工作流引擎中最具挑战性的场景之一。当流程需要回退时&#xff0c;并行分支带来的状态管理复杂度会呈指数级增长。传统串行节点的…...

2023年天梯赛真题解析L2-2(优先级队列)

L2-046 天梯赛的赛场安排 题目链接&#xff1a; https://pintia.cn/problem-sets/994805046380707840/exam/problems/type/7?problemSetProblemId1649748772841508873&page1 题目分析&#xff1a; 本题的考点是结构体优先级队列&#xff0c;因为每个学校包含的信息较多&am…...

2026年最新亲测3款亲子教育免费AI工具,再也不用为辅导作业头大了

作为一个天天跟音频、视频打交道的IT技术博主&#xff0c;同时也是一位二年级小学生的家长&#xff0c;我这两年踩过的“教育工具坑”真不少。孩子上课注意力不集中、回家记不住重点、家长会信息记不全、辅导作业时自己讲得口干舌燥孩子却一脸懵……这些场景&#xff0c;估计有…...

AI智能体安全防御:从代码数据分离到多代理系统架构实践

1. 项目概述&#xff1a;当AI智能体成为攻击目标 最近和几个做AI应用落地的朋友聊天&#xff0c;大家不约而同地提到了同一个焦虑&#xff1a;模型能力越强&#xff0c;系统越复杂&#xff0c;心里反而越没底。一个能自主调用API、处理文件、联网搜索的智能体&#xff0c;一旦被…...

LEO卫星自愈网络:动态抗干扰与信号合并算法实践

1. 项目概述&#xff1a;LEO卫星自愈网络的设计挑战与创新方案在近地轨道&#xff08;LEO&#xff09;卫星通信领域&#xff0c;我们正面临着一个关键的技术矛盾&#xff1a;一方面&#xff0c;LEO卫星凭借其低延迟特性成为下一代全球通信网络的核心组成部分&#xff1b;另一方…...

避开BLE开发第一个坑:搞懂广播帧里的TxAdd、ChSel字段,让你的智能硬件不再‘隐身’

避开BLE开发第一个坑&#xff1a;广播帧关键字段解析与实战排查指南 当你第一次将精心编写的固件烧录进蓝牙芯片&#xff0c;满心期待地用手机扫描设备时&#xff0c;却发现屏幕上空空如也——这种"设备隐身"的挫败感&#xff0c;几乎每个BLE开发者都经历过。问题的根…...

终极RPG Maker游戏资源解密工具:无需安装的浏览器解决方案

终极RPG Maker游戏资源解密工具&#xff1a;无需安装的浏览器解决方案 【免费下载链接】RPG-Maker-MV-Decrypter You can decrypt RPG-Maker-MV Resource Files with this project ~ If you dont wanna download it, you can use the Script on my HP: 项目地址: https://git…...

520遇见AI:猛犸AI智能体训练增长营第15期深圳圆满落幕

一束玫瑰&#xff0c;一场关于未来的对话。 2026年5月20日&#xff0c;猛犸AI智能体训练增长营第15期在深圳南山正式开课。课程伊始&#xff0c;GEO理论奠基人罗小军为每一位到场的100余名学员送上了一束玫瑰花——这一天恰逢520&#xff0c;这束花&#xff0c;是猛犸AI送给每一…...