定义:1,自我调用
2,边界(结束条件)
例如:不用循环求N个数的和
代码实现:
#include<bits/stdc++.h>
using namespace std;
//定义函数
//计算自己以及自己以后的数字总和
int sum(int k){
if(k >= n){
return 0;
}
int ret = sum(k + 1)a[k];
return ret;
}
//计算自己以及自己以前的数字总和
int sum(int k){
if(k < 0){
return 0;
}
int ret = sum(k - 1)a[k];
return ret;
}
int main(){
int n;
int a[10000];
//a[0] ~ a[n-1]
return 0;
}
递归的底层运算是栈:
小练习:输入若干的正整数,以0作为结束
要求把这些数字倒数输出,用空格隔开(不包括0)
不能使用循环或者数组或STL
代码实现: