想实现一下功能,求第n个和。
实现代码如下:
package cursion;
public class SanJiaoDataData {
public static void main(String[] args) {
SanJiaoDataData data = new SanJiaoDataData();
System.out.println(data.getResult(7));
System.out.println(data.getRecursionResult(1000));
}
int getResult(int num) {
int count = 0;
for (int i=0; i<=num;i++) {
count += i;
}
return count;
}
int getRecursionResult(int i) {
if (i > 1) {
return i + getRecursionResult(--i);
} else {
return i;
}
}
}
现在探讨一下 递归函数的特征:
1. 调用自身
2. 每次调用都使得问题变小。
3. 当问题变小到每个点的时候不再调用自身。否则可能会无限循环。
递归的效率真的不咋地。但递归的思想很重要。比如在实现过滤器的时候就用到了递归的思想。