- 22, Oct 2024
- #1
Мои задачи, как правило, немного сложны и непривлекательны. Итак, здесь что-то легкое и веселое.
Последовательность Алкуина
Последовательность Алкуина
600, 900
is defined by counting triangles. 0, 150
- количество треугольников с целыми сторонами и периметром A(m), A(m+1), A(m+2), ..., A(n-2), A(n-1)
. This sequence is called after Alcuin of York.
Первые несколько элементов этой последовательности, начиная с 0 <= m < n
are:
A(600), A(601), ..., A(899)
Например A(1)
, because the only triangles with integer sides and perimeter A(1)
являются A(0), A(1), ..., A(149)
, A(2*k) = A(2*k - 3)
и 2 - 3 - 4
. You can see the 3 valid triangles down below.
В этой последовательности есть несколько весьма интересных закономерностей. Например 3 - 3 - 3
.
Для получения дополнительной информации см. А005044 на ОЭИС.
Испытание
Но ваша задача заключается в двоичном представлении этих чисел. Если мы преобразуем каждый порядковый номер в его двоичное представление, поместим их в векторы-столбцы и выстроим в линию, получится довольно интересная двоичная картина.
На следующем рисунке вы можете увидеть двоичное представление порядковых номеров. 1 - 4 - 4
. In the first column you can see the binary representation of 9
, во втором столбце представление A(9) = 3
, and so on.
На этой картинке вы можете увидеть какой-то повторяющийся узор. Это даже похоже на фракталы, если посмотреть, например, на изображение с порядковыми номерами. 0, 0, 0, 1, 0, 1, 1, 2, 1, 3, 2, 4, 3, 5, 4, 7, 5, 8, 7, 10, 8, ...
.
Ваша задача — создать такой образ. Ваша функция, ваш скрипт получит два целых числа n = 0
, and it has to generate the binary image of Alcuin's sequence n
. Итак, вход A(n)
generates the first picture, the input A(n)
вторая картинка.
Вы можете использовать любой популярный графический формат. Допустим, каждый формат, который можно преобразовать в PNG, используя image.online-convert.com. Альтернативно вы можете вывести изображение на экран. Никакие ведущие белые строки не допускаются!
Это код-гольф. Таким образом, побеждает самый короткий код (в байтах).
#code-golf #graphical-output #sequence #binary