Самый простой способ генерировать номера базы 3 - PullRequest
0 голосов
/ 30 ноября 2010

Я пытаюсь решить математическую задачу программно. Наличие способа генерации чисел с базой 3 очень легко решит проблему. Знаете ли вы какой-нибудь язык, который имеет встроенную поддержку для работы с числами нетривиальной базы? Было бы также здорово, если бы вы указали мне какой-нибудь инструмент, который может помочь мне сгенерировать последовательность чисел из базовых 3

Ответы [ 4 ]

3 голосов
/ 30 ноября 2010

Числа по сути не имеют основы. Представления чисел делают.Как правило, вы выражаете понятие «представление числа 3 в основе», используя строку, состоящую только из символов «0», «1» и «2» (и, возможно, десятичной точки или отрицательного знака или чего-либо еще).

1 голос
/ 30 ноября 2010

Python может конвертировать из базы 3, используя int('012',3), что равно 5 и Элегантная обратная функция Python для int (строка, база) имеет обратную сторону этого

1 голос
/ 30 ноября 2010

Просто повторяйте деление на 3 для цифр, пока не получите 0. Умножьте и добавьте, чтобы восстановить оригинал.

0 голосов
/ 01 декабря 2010

Язык программирования J (http://jsoftware.com/) имеет как базовую, так и антибазисную функцию в качестве основных функций. Это полностью числовые, а не символьные манипуляции. Словарные записи для этих основных цветов: http://jsoftware.com/help/dictionary/d401.htm а также http://jsoftware.com/help/dictionary/d402.htm

Используя их, просто работать с представлениями base-3. Вот пример определения программы и интерактивного использования в консоли:

   base3=: 3& #. ^:_1

   base3 8
2 2
   base3 i. 19
0 0 0
0 0 1
0 0 2
0 1 0
0 1 1
0 1 2
0 2 0
0 2 1
0 2 2
1 0 0
1 0 1
1 0 2
1 1 0
1 1 1
1 1 2
1 2 0
1 2 1
1 2 2
2 0 0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...