递归耗时

/**
 * 递归的测试
 * @author chen_zan_yu
 *
 */
public class Kk08 {
	public static void main(String[] args) {
		long d1=System.currentTimeMillis();
		System.out.printf("%d阶乘的运行结果:%s%n",10,factorial(10));
		long d2=System.currentTimeMillis();
		System.out.printf("递归费时:%s%n",d2-d1);
		
		factorialLoop(10);
	}
	
	static long factorial(int n) {
		if(n==1) {
			return 1;
		}
		else {
			return n*factorial(n-1);
		}
	}
	
	static long factorialLoop(int a) {
		long d3=System.currentTimeMillis();
		long result=1;
		while(a>1) {
			result*=a*(a-1);
			a-=2;
		}
		long d4=System.currentTimeMillis();
		System.out.println(result);
		System.out.printf("普通循环费时:%s%n",d4-d3);
		return result;
		
	}
	

}

猜你喜欢

转载自blog.csdn.net/chen_zan_yu_/article/details/88599702