您可以在Java中使用BigInteger,它可以根据需要使用任意数量的数字
BigInteger fact= BigInteger.ONE; int factorialNo = 10; for (int i = 2; i <= factorialNo; i++){ fact = fact.multiply(new BigInteger(String.valueOf(i))); } System.out.println("The factorial of " + factorialNo + " (or " + factorialNo + "!) is: " + fact); final int digits = fact.toString().length(); BigInteger number = new BigInteger(fact.toString()); BigInteger reminder; BigInteger sum = BigInteger.ZERO; BigInteger ten = new BigInteger(String.valueOf(10)); while(number.compareTo(BigInteger.ONE)>=0) { reminder=number.mod(ten); sum=sum.add(reminder); number=number.divide(ten); } System.out.println("The total sum of all the " + digits + " idividual digits from the answer of the factorial of " + factorialNo + " is: " + sum
编辑 :改进了代码,使其与作者的代码兼容
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)