Cheela (из книги Яйцо дракона Роберт Л. вперед) существа , которые живут на поверхности нейтронной звезды. Их тело плоское и круглое с двенадцатью глазами по периметру, поэтому они, естественно, используют систему нумерации Base-12.
Среди чил, забота о детенышах и воспитание молодёжи - это задачи, выполняемые древними. Поскольку молодого Чилу нужно научить умножать, Древние могли использовать таблицу умножения.
Ваша задача - создать в базе 12
x 12
таблицу умножения 12
, как показано ниже. Прописные буквы A
и B
используются для цифр, соответствующих десятичной 10
и 11
соответственно.
1 2 3 4 5 6 7 8 9 A B 10
2 4 6 8 A 10 12 14 16 18 1A 20
3 6 9 10 13 16 19 20 23 26 29 30
4 8 10 14 18 20 24 28 30 34 38 40
5 A 13 18 21 26 2B 34 39 42 47 50
6 10 16 20 26 30 36 40 46 50 56 60
7 12 19 24 2B 36 41 48 53 5A 65 70
8 14 20 28 34 40 48 54 60 68 74 80
9 16 23 30 39 46 53 60 69 76 83 90
A 18 26 34 42 50 5A 68 76 84 92 A0
B 1A 29 38 47 56 65 74 83 92 A1 B0
10 20 30 40 50 60 70 80 90 A0 B0 100
Вывод должен быть напечатан на экране. Формат должен быть следующим:
- Числа должны быть выровнены вправо в каждом столбце.
- Допускаются начальные пробелы перед первым столбцом, конечные пробелы после последнего столбца или завершающая новая строка после последней строки.
Разделение между столбцами может состоять из одного пробела (как показано выше) или нескольких пробелов, но количество пробелов должно быть одинаковым между столбцами. Чтобы измерить разделение столбцов, учтите, что отображаемые числа включают любые начальные пробелы, которые могли быть необходимы для выполнения требования 1 (поэтому каждое число занимает три символа, первый из которых может быть пробелом). Например, таблица с разделением двумя пробелами будет выглядеть следующим образом:
1 2 3 4 5 6 7 8 9 A B 10 2 4 6 8 A 10 12 14 16 18 1A 20 3 6 9 10 13 16 19 20 23 26 29 30 4 8 10 14 18 20 24 28 30 34 38 40 5 A 13 18 21 26 2B 34 39 42 47 50 6 10 16 20 26 30 36 40 46 50 56 60 7 12 19 24 2B 36 41 48 53 5A 65 70 8 14 20 28 34 40 48 54 60 68 74 80 9 16 23 30 39 46 53 60 69 76 83 90 A 18 26 34 42 50 5A 68 76 84 92 A0 B 1A 29 38 47 56 65 74 83 92 A1 B0 10 20 30 40 50 60 70 80 90 A0 B0 100
Компьютерное хранилище на нейтронной звезде действительно дорого, поэтому ваш код должен использовать как можно меньше байтов.
Расширенный вызов и бонус
В идеале ваш код должен быть повторно использован в других частях вселенной, где могут использоваться другие системы нумерации. С этой целью задача дополнительно может быть расширена следующим образом: Ваш код принимает число в N
качестве входных данных и генерирует таблицу умножения N
x N
в базе N
с указанным выше форматом.
Ввод может быть с клавиатуры или в качестве аргумента функции. Программа или функция должна работать & 2
le ; & N
le ; 36
, используя в качестве цифр первых N
символов последовательности 0
, 1
, ..., 9
, A
, B
, ..., Z
(прописные буквы)
Этот расширенный вызов не является обязательным. Если вы следуете по этому маршруту, снимите с байта 20% (нет необходимости округлять до целого числа).
Because they have twelve eyes, they naturally use a base-12 numbering system.
Ну естественно. Вот почему мы используем двоичный файл, в конце концов ... ;-)