public class nhn {
public static int f(int x){
if(x==0)
return 0;
else
return 2 * f(x - 1) + x*x;
}
public static int f1(int x){
if(x==0)
return 0;
else{
int sum = 0;
for(int i=0;i<=x;i++){
sum = sum * 2 + i*i;
}
return sum;
}
}
public static void main(String[] args){
System.out.println(f1(8000));
//System.out.println(f(8000));
}
}
结论:递归会把调用的方法全部压入当前线程的方法调用栈,容易导致栈溢出。抛出java.lang.StackOverflowError