目录
前言
常见的算法都是通过递归和循环实现的。这里通过计算1+...+n之和的递归和循环实现,对这两种方法进行一个比较,从而加深理解。测试代码在这里。
测试都是通过Junit进行测试的。
1.递归实现
递归实现时,测试中发现n不能过大,在笔记本上面不能超过10000,否则会出现StackOverflow异常。
public int SumN(int n) {
if (n < 0)
System.out.println("Input number cannot be negative");
return (n == 0) ? 0 : n + SumN(n - 1);
}
2.循环实现
循环实现时,不会出现递归中的异常。
public int SumN2(int n) {
if (n < 0)