У меня есть эта проблема:
Положительное целое число называется palindrome
, если его представление в десятичной системе одинаково при чтении слева направо и справа налево. Для заданного положительного целого числа K
, состоящего не более чем из 1000000
цифр, запишите для вывода значение наименьшего палиндрома, большее K
. Числа всегда отображаются без начальных нулей.
Ввод
Первая строка содержит целое число t
, количество тестовых случаев. Целые числа K
приведены в следующих строках t
.
Выход
Для каждого K
выведите наименьший палиндром, больший, чем K
.
Пример
Введите:
2
808
2133
Выход:
818
2222
Мой код преобразует входные данные в строку и оценивает любой конец строки, соответственно внося коррективы и перемещаясь внутрь. Однако проблема требует, чтобы он мог принимать значения длиной до 10 ^ 6 цифр, если я пытаюсь проанализировать большие числа, я получаю исключение формата чисел, т.е.
Integer.parseInt(LARGENUMBER);
или
Long.parseInt(LARGENUMBER);
и LARGENUMBER
вне диапазона. Кто-нибудь может придумать обходной путь или как справиться с такими большими числами?