请问各路大神100的阶乘的各个位数之和怎么求?比如10的阶乘是3628800,那我要求的结果是3+6+2+8+8+0+0=27
请问各路大神(用java)100的阶乘的各个位数之和怎么求?比如10的阶乘是3628800,那我要求的结果是3+6+2+8+8+0+0=27,有没有那种不用算出100!而直接得出其各个位之和的方法,小弟在这谢过各位大神了
[解决办法]
使用java.math.BigDecimal类,可以处理大数据
[解决办法]
import java.math.BigInteger;
public class Test_12 {
public static void main(String[] args) {
final BigInteger[] heap = new BigInteger[101];
heap[0]=BigInteger.valueOf(1);
for(int i=1;i<=100;i++){
heap[i] = heap[i-1].multiply(BigInteger.valueOf(i));
}
String value = heap[100].toString();
int sum = 0;
for(int i=0;i<value.length();i++){
sum += value.charAt(i)-'0';
}
System.out.println(sum);
}
}
648