有的时候,递归很好解决问题,代码简洁而易懂。
n的阶层,递归方法如下:
输出i到N,再从N到i的每个数,每个一行的递归方法如下:
当i==n时就推出递归调用,这样就会接着下面的输出,这个时候会打印刚才递归调用时进入的i值,于是就能输出已下结果:
1
2
3
2
1
--
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
--