递归
递归的功能是什么?
反复调用自己
什么时候应该结束这个递归,它的边界条件是什么?
递归需要关系和出口
假如我们有1,2,3…n个数计为f(1),f(2),…f(n)
可以表示为
f(n)=f(n-1)+1 关系
f(1)=1 出口
如果只有一个关系式是无法表示唯一数列,需要写出口
裴波那契数列例子
#include <iostream>
using namespace std;
//裴波那契数列
//f(1)=1
//f(2)=1
//f(n)=f(n-1)+f(n-2)
int f(int n)
{
if (n == 1)
{
return 1;
}
else if (n == 2)
{
return 1;
}
else
{
return (f(n - 1) + f(n - 2));
}
}
int main()
{
int n;
cin >> n;
int num;
num = f(n);
cout << num << endl;
}