`

java-求100的阶乘-100!(即100*99*98*...*2*1),不用BigInteger

 
阅读更多
BigIntegerAddition.add见http://bylijinnan.iteye.com/blog/1463337


public class FactorialInAddition {

	/**
	 *题目:求100的阶乘-100!(即100*99*98*...*2*1)
	 *方法:用加法代替乘法,加法的加数用字符串表示
	 */
	public static void main(String[] args) {
		for(int i=1;i<=100;i++){
			System.out.println(factorial(i));
		}
	}

	//return n!
	public static String factorial(int n){
		if(n<=0){
			return null;
		}
		String result="1";
		String tmp="0";
		for(int i=2;i<=n;i++){
			for(int j=0;j<i;j++){
				//I write 'BigIntegerAddition' in my own BigIntegerAddition.java
				tmp=BigIntegerAddition.add(result, tmp);//String add(String,String)
			}
			result=tmp;
			tmp="0";
		}
		return result;
	}
}

0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics