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