递归方法

有的时候,递归很好解决问题,代码简洁而易懂。
n的阶层,递归方法如下:
int factorial(int n)
{
	if(n==1)
		return 1;
	return factorial(n-1) * n;
}

输出i到N,再从N到i的每个数,每个一行的递归方法如下:
#include <iostream>
using namespace std;
void p(int i,int n)
{
	if(i==n)
		printf("%d\n",i);
	else
	{
		printf("%d\n",i);
		p(i+1,n);
		printf("%d\n",i);
	}
}
int main()
{
	p(1,3);
	printf("--\n");
}

当i==n时就推出递归调用,这样就会接着下面的输出,这个时候会打印刚才递归调用时进入的i值,于是就能输出已下结果:
1
2
3
2
1
--

你可能感兴趣的:(C++,c,C#)