Видимо да! В три простых шага.
Шаг 1
Пусть f ( n ) обозначает функцию подсчета простых чисел (число простых чисел, меньших или равных n ).
Определите целочисленную последовательность s ( n ) следующим образом. Для каждого положительного целого числа n ,
- Initiallize т к п .
- Пока t не является ни простым, ни 1, замените t на f ( t ) и итерируйте.
- Количество итераций s ( n ).
Итерационный процесс гарантированно завершится, потому что f ( n ) < n для всех n .
Рассмотрим для примера n = 25. Мы инициализируем t = 25. Так как это не простое число и не 1, мы вычисляем f (25), который равен 9. Это становится новым значением для t . Это не простое число, ни 1, поэтому мы продолжаем: f (9) равно 4. Мы продолжаем снова: f (4) равно 2. Поскольку это простое число, мы останавливаемся здесь. Мы сделали 3 итерации (от 25 до 9, затем до 4, затем до 2). Таким образом, s (25) равно 3.
Первые 40 членов последовательности следующие. Последовательность не в OEIS.
0 0 0 1 0 1 0 2 2 2 0 1 0 2 2 2 0 1 0 3 3 3 0 3 3 3 3 3 0 3 0 1 1 1 1 1 0 2 2 2
Шаг 2
Учитывая нечетное положительное целое число N , создайте массив N × N (матрицу), обмотав конечную последовательность s (1), s (2), ..., s ( N 2 ), чтобы сформировать квадратную спираль наружу . Например, при N = 5 спираль
s(21) s(22) s(23) s(24) s(25)
s(20) s(7) s(8) s(9) s(10)
s(19) s(6) s(1) s(2) s(11)
s(18) s(5) s(4) s(3) s(12)
s(17) s(16) s(15) s(14) s(13)
или, подставляя значения,
3 3 0 3 3
3 0 2 2 2
0 1 0 0 0
1 0 1 0 1
0 2 2 2 0
Шаг 3
Представьте массив N × N в виде изображения с картой серого цвета или с картой другого цвета на ваш вкус. Карта должна быть постепенной, чтобы порядок чисел соответствовал некоторому визуально очевидному порядку цветов. Тестовые примеры ниже показывают несколько примеров цветовых карт.
Соревнование
Учитывая нечетное положительное целое число N , получим изображение, описанное выше.
правила
Спираль должна быть наружу, но может быть по часовой стрелке или против часовой стрелки и может начать движение вправо (как в приведенном выше примере), влево, вниз или вверх.
Шкалы горизонтальной и вертикальной осей не обязательно должны быть одинаковыми. Также метки оси, цветная полоса и подобные элементы являются необязательными. Пока спираль может быть ясно видна, изображение является действительным.
Изображения могут быть выведены любым стандартным способом . В частности, изображение может быть отображено на экране, или может быть создан графический файл, или может быть выведен массив значений RGB. Если вы выводите файл или массив, пожалуйста, опубликуйте пример того, как он выглядит при отображении.
Средства ввода и формат являются гибкими, как обычно . Может быть предоставлена программа или функция . Стандартные лазейки запрещены .
Самый короткий код в байтах побеждает.
Контрольные примеры
Следующие изображения (нажмите для полного разрешения) соответствуют несколько значений N . По часовой стрелке используется спираль, направленная вправо, как в примере выше. Изображения также иллюстрируют несколько действительных цветовых карт.
imshow
делает Matlab (и, возможно, Matplotlib)
imshow
делает это.
s(n)
может быть передан в какую-либо функцию / пакет для построения графиков без изменения (я думаю, чтоimshow
в matplotlib это может обрабатываться, например), это приемлемая форма вывода?