Во-первых, я бы создал в вашем коде таблицу поиска со всеми значениями ascii и их строковым эквивалентом. Затем возьмите большой int и преобразуйте его в строку. Затем сделайте мод 3 с длиной вашей строки bigint, чтобы определить, нужно ли добавлять 1, 2 или ноль в начале. Затем просто возьмите каждые 3 целых числа в начале числа, сравните его с таблицей поиска и добавьте соответствующее значение в строку результата.
Пример:
Дано 97098097
Вы бы конвертировали его в: "97098097"
Затем вы делаете мод с 3, в результате чего получается значение 1, поэтому необходимо добавить 1 ноль.
Добавить 1 ноль: "097098097"
Затем возьмите каждые 3 спереди и сравните, чтобы посмотреть таблицу:
097 -> a
, поэтому result += "a"
098 -> b
, т. Е. result += "b"
097 -> a
, т. Е. result += "a"
В результате вы получите "aba"