递归算法 其实就是程序的自身调用。在做递归算法的时候,必须要有一个明确的递归结束条件,
当满足了这个条件的时候就不再递归了。
下面用Java实现两个基础的递归算法
/**
* 求1+2+3+...+n的和
*/
class Recurrent {
int sum = 0;
int flag = 1;
public void count(int number) {
sum += flag;
flag++;
if (flag <= number) {
count(number);
}
}
}
public class T {
public static void main(String[] args) {
Recurrent r = new Recurrent();
r.count(5);
System.out.println(r.sum);
}
}
/**
* 求n的阶乘
*/
class Factorial {
public long mul(int n) {
if (n <= 1) {
return 1;
} else {
return n * mul(n - 1);
}
}
}
public class T {
public static void main(String[] args) {
Factorial fac = new Factorial();
System.out.println(fac.mul(15));
}
}