Преобразование больших чисел в формат String для сравнения - PullRequest
0 голосов
/ 27 сентября 2011

Я пытаюсь сравнить настолько большие числа, что даже BigIntegers не могут с ними справиться.Мое решение состоит в том, чтобы преобразовать числа в строки и использовать сравнение строк на них.

Будет ли это работать?Я не совсем уверен, как реализовать нечто подобное.Я просто пытаюсь провести модульное тестирование алгоритма для получения факториала 1000 для программы Эйлера проекта, в которую я попал.

1 Ответ

1 голос
/ 27 сентября 2011

Ваше предположение неверно.

BigInteger обеспечивает произвольную точность, поэтому он может определенно работать с такими большими числами.

Попробуйте следующее:

public class Main {
    public static void main(String[] args) {
        BigInteger thousand = BigInteger.valueOf(1000L);
        for (int i = 999; i > 0; i--)
        {
            thousand = thousand.multiply(BigInteger.valueOf(i));
        }

        System.out.println(thousand.toString());
    }

}
...