Здравствуйте. как получить полное число, которое выходит за пределы типа long, и соответственно выдает не правильный ответ. скорее всего будет ещё какое либо число которое будет состоять из двух типов лонг но только для того что бы расширить регистры. не пойму как это делать.
public class CalculateFactorial{
public static void main(String[] args){
factorial fact = new factorial();
System.out.println(fact.factoring(23));
}
static class factorial{
long result = 1;
public long factoring(long x){
for(long i = 1; i<=x; i++){
result *= i;
}
return result;
}
}
}
Вручную делать не надо, есть тип Biginteger
public static BigInteger factorial(BigInteger n) {
BigInteger result = BigInteger.ONE;
while (!n.equals(BigInteger.ZERO)) {
result = result.multiply(n);
n = n.subtract(BigInteger.ONE);
}
return result;
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости