Преобразование пи в буквы? - PullRequest
4 голосов
/ 14 марта 2012

Для Pi Day я пытаюсь написать программу на Java, которая пытается найти определенное слово в Pi (или другое заданное иррациональное число).У меня почти все закончено, но я не согласен с тем, как мне следует преобразовать каждую цифру / цифру числа пи в букву.Я подумал сказать: A = 01, B = 02, C = 03 ... Y = 25, Z = 26.

Однако я чувствовал себя плохо для всех плохих числовых последовательностей, которые даже неесть шанс, так как любая последовательность, которая не начинается с «0» или «2», будет полностью проигнорирована.Это означает, что 80% последовательностей не имеют значения?

Могу ли я выполнить преобразование базы-26 в базу-10?Не знаете, как это сделать, если это действительно правильное решение?

Спасибо!

Ответы [ 2 ]

5 голосов
/ 14 марта 2012

Вы можете преобразовать Pi из формы base-10 в любую другую базу (т.е. базу 26, где вы используете только буквы AZ, а не цифры 0-9), используя метод , подобный этому .Получающиеся «цифры» будут всеми буквами.

Вам придется изменить метод fromDecimalToOtherBase, чтобы он выводил только буквы.В противном случае он должен быть довольно простым, и это тот же алгоритм для преобразования между десятичной и любой произвольной базой.

Только для ударов, я также нашел эту страницу , которая содержит произвольный базовый конвертер,Если вы введете Pi без десятичной дроби и введете «26» для целевой базы, он выполнит преобразование (хотя он по-прежнему использует цифры 0–9, поэтому он не «решает» проблему так, как вы хотите)).

3 голосов
/ 14 марта 2012

Вы можете сделать обтекание алфавита и использовать все коды.

00 = A
01 = B
...
24 = Y
25 = Z
26 = A
27 = B
...

Или зачем вообще работать с базой 10?Просто начните с числа в базе 26, и каждая цифра представляет букву.

pi = D,DRSQLOLYRTRCLRGGUKBJKPSRFVKRODHLJRFSZSOXNHXZ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...