递归
1.什么是递归:
递归就是函数的自我调用来求出问题的解。如果一个数列项与项之间存在关联性,那么就可以用递归实现。
原来:
如果一个函数可以求fun(n),那么该函数就可以求fun(n-1),就形成了函数的自我调用。(※注意:一般起始项是不需要求解的,是已知条件)
2.递归求解问题的过程:
①找出规律;
②函数调用自己来求解前面项;
③交代起始项,让函数能够停止。
例子:(求1+2+……+n)
include<bits/stdc++.h>
using namespace std;
int fun(int n){
if(n==1) return 1;//③
return fun(n-1)+n;//①+②
}
int main(){
int n;
cin>>n;
cout<<fun(n);
return 0;
}
规律为:fun(n)=fun(n-1)+1。
3.递归重要思想:
(1).既然函数fun()能求解第n项,那么它也能求第n-1项,也能求第n+1项。
(2).既然函数fun()能求解一个问题的第n步,那么它也能求第n-1步,也能求第n+1步。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)