Здравствуйте. как получить полное число, которое выходит за пределы типа 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;
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Как реализовать метод select, чтобы отрабатывались переходы selectOne, selectTwo при вызове метода?
Каким способом можно пройтись по всем значениям производительнее (ключи не нужны) в HashMap?
Что будет если в TreeMap запросить значение по несуществующему ключуСработает исключение или вернёт null