в python с простым циклом, который вы можете вычислить, пусть 600!
это очень большое число, но python может легко позаботиться об этом за долю секунды. Даже если он длиннее 200
.
в java, с другой стороны, вы привязаны к 64-битным литералам (длинный тип данных). поэтому машина вернет 0.
есть ли способ преодолеть это?
Мне нужно решение для ограничения Java при вычислении и хранении больших чисел
Ответ 1
Вы можете использовать класс Java BigInteger
.
И простой пример:
import java.math.BigInteger;
BigInteger k = BigInteger.valueOf(10000L);
k = k.pow(10000);
//k is now 10000^10000
System.out.println(k.toString());
Важно знать, что класс неизменен. Вы также можете изучить класс BigDecimal
для произвольной точности десятичных чисел.