Вы можете найти источник (Scala) здесь и рабочий апплет здесь.
Поскольку 0 и 1 не соответствуют символам, они создают естественные контрольные точки в числах. Но они не встречаются в каждом номере (кроме 0 в начале). Более длинные числа, такие как +49567892345, начиная с 9 цифр, могут привести к ошибкам OutOfMemoryErrors. Так что было бы лучше разбить число на группы, такие как
чтобы понять, можете ли вы понять смысл более коротких частей. Я написал такую программу и проверил некоторые числа от моих друзей, но редко находил комбинации более коротких слов, которые можно было проверить в словаре на соответствие, не говоря уже об одиночных, длинных словах.
Поэтому я решил, что будет поддерживать только поиск , без полной автоматизации, путем отображения возможных комбинаций, поощряя разбивать число вручную, возможно, несколько раз.
Итак, я нашел + -RAD JUNG (+ -Bicicle Boy).
Если вы принимаете опечатки, аббревиатуры, иностранные слова, цифры в качестве слов, цифры в словах и именах, ваш шанс найти решение намного лучше, чем без возни.
246848 => 2hot4u (too hot for you)
466368 => goodn8 (good night)
1325 => 1FCK (Football club)
53517 => JDK17 (Java Developer Kit)
это вещи, которые может наблюдать человек - заставить алгоритм найти такие вещи довольно сложно.