递归算法:
递归算法就是一个函数通过不断对自己的调用而求得最终结果的一种思维巧妙但是开销很大的算法。
例子:求n的阶层
#include <iostream>
using namespace std;
int counter=1;
int fac(int n)
{
cout<<"第"<<counter<<"次调用:"<<n<<" * "<<"fac("<<n-1<<")"<<endl;
if (n==1) {
return 1;
}
while(n>1)
{
counter++;
return n * fac(n-1); // 断点1
}
}
int main()
{
int n = 10;//可通过cin>>n 键入不同的值
cout<<"结果:fac("<<n<<")="<<fac(n)<<endl;
}
最近在leetcode上刷题,后续持续补充