首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

有关问题20-求100!的各位数字之和

2012-12-27 
问题20-求100!的各位数字之和问题描述如下:“n!=n*(n-1)*...*2*1,求100!的各位数字之和。”?上代码:/** * n!

问题20-求100!的各位数字之和

问题描述如下:

“n!=n*(n-1)*...*2*1,求100!的各位数字之和。”

?

上代码:

/** * n! *  * @param n * @return */private static Long factorial(Long n) {Long result = n;for (Long i = n - 1; i > 1; i--) {result *= i;}return result;}

?由于超出100!的范围,使用BigDecimal,代码如下:

/** * n! *  * @param n * @return */private static String factorial(Long n) {BigDecimal result = new BigDecimal(n);for (Long i = n - 1; i > 1; i--) {result = result.multiply(new BigDecimal(i));}return result.toString();}

?求和:

/** * 求n!的各位数字之和 * @param s * @return */private static int sum(String s){int sum=0;for (int i = 0; i < s.length(); i++) {sum+= Integer.parseInt(s.charAt(i)+"");}return sum;}

?通过sum(factorial(100L))可以得到结果:648

?

请不吝赐教。

@anthor ClumsyBirdZ

热点排行