递归的简单例子
输出如下序列:1 3 6 10 15 21 28 36 45 55 ,观察规律,可以写出如下代码(可以使用递归,也可以不使用):
?
public class RecursionExample {public static void main(String[] args){//方法一//int sum = 0;//for(int i=0; i<10; i++)//{//sum = sum + i + 1;//System.out.print(sum + " ");//}//System.out.println();//方法二//int Size = 10;//int[] a = new int[Size];//a[0] = 1;//for(int i=1; i<a.length; i++)//a[i] = a[i-1] + i + 1;//for(int i=0; i<a.length; i++)//System.out.print(a[i] + " ");//System.out.println();//方法三:使用递归,输出所有结果,可把下面Compute()方法中的输出注释掉//int N = 10;//for(int i=0; i<N; i++)//System.out.print(Compute(i+1) + " ");//System.out.println();//方便调试、跟踪,也便于理解int result = Compute(5);System.out.println("The result is " + result);} public static int Compute(int n){System.out.println("Entering : n=" + n);if(n == 1){System.out.println("Returning 1");return 1;}else{int temp = n + Compute(n-1);System.out.println("Returning " + temp);return temp;}}}?
?
输出结果如下:
?
Entering : n=5Entering : n=4Entering : n=3Entering : n=2Entering : n=1Returning 1Returning 3Returning 6Returning 10Returning 15The result is 15
?