递归的简单例子

输出如下序列: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=5
Entering : n=4
Entering : n=3
Entering : n=2
Entering : n=1
Returning 1
Returning 3
Returning 6
Returning 10
Returning 15
The result is 15

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值