Java教程

算法导论——计算10!

本文主要是介绍算法导论——计算10!,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

有两种方法,递归和for循环

package com.hm.demo01;

public class Test {
	public static void main(String[] args) {
		long result=func(10);
		System.out.println(result);
	}
	
	public static long func(long n) {
		if(n==1) {
			return 1;
		}
		
		return n*func(n-1);
	}

}

 

package com.hm.demo01;

public class Test02 {
	public static void main(String[] args) {
		long result=func2(10);
		System.out.println(result);
	}
	
	public static long func2(long n) {
		long result=1;
		for(long i=1;i<=n;i++) {
			result=result*i;
		}
		return result;
	}

}

 

第一种方法,要调用10次func函数,所以在栈内存里要开辟10个内存空间

而第二种方法,只用调用1次func2函数,所以在栈内存里只要开辟一块内存就好了,

因此,第二种解法更优

 

这篇关于算法导论——计算10!的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!