|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Пятничная экзотическая задачка. Распечатать прямоугольник цифирками по спирали. 123654 Или 123894765 Реализация - чем экзотичнее - тем лучше. Brainfuck. Машина Тьюринга. Perl. Функциональщина. Формула мат-лаба. Чистая функция или грязная. SQL-запрос. Конечные-бесконечне автоматы. Корутины. Вобщем проявите фантазию. Разумеется параметризация должна быть. 2х3 или 3х3.... Gogo кодить!!! Самому отличившемуся - респект. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2019, 18:37 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Я тоже на эту тему задумывался :) Предлагаю чуть упростить задачу: прямоугольник заменяем квадратом, а спираль закручиваем внутрь, т.е. Код: plaintext 1. 2.
Так и код будет красивее и студентам списать не получится. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2019, 18:45 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Квадрат это слишком просто. Прямоугольник 7х3 - вот это вызов. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2019, 13:40 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
А что будет сложного в 7:3 ? Или чем сложнее? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2019, 13:55 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Для квадрата размера N. На неком гипотетическом Logo. выглядело бы так. Код: sql 1. 2. 3. 4. 5.
Это будет просто закрашивание. А нам надо добавить еще учет количества. Тоесть движение черепашки вперед - это еще и закрашивание сиквенсом. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2019, 16:48 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Забавная штука есть Piet. Язык программирования где команды - это цветные квадраты. А растр - это суть исходник. http://www.dangermouse.net/esoteric/piet/samples.html ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2019, 17:02 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Я тут подумал что можно попробовать решить другую задачу: имея размер квадрата и координаты ячейки рассчитать ее номер. Каждый квадрат 2N-2 ячеек, где N размер стороны. Отсюда вычисляем первое число квадрата. Далее надо как-то получить N и на каком месте ячейка ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 09:49 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
В топике Тяпничная география мы решали более интересную задачу. Обход плоскости по кривой Гилберта. Кривая интересна тем что расстояние между соседними точками всегда 1 в абсолютном эквиваленте. И любые интервалы отложенные вдоль этой кривой всегда представляют собой композицию квадратов. Причем минимальную. Я обратил внимание тогда что эту кривую часто используют для графического изображения интервалов IP-blocks. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 12:20 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
mayton, тему топика вроде обсуждали уже тут: https://www.sql.ru/forum/1118954-1/obhod-pryamougolnika-po-spirali-poisk-bolee-podhodyashhego-algoritma ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 12:40 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Aleksandr Sharahov, Да это клон. Я создал. Как и обещал но с другим смыслом. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 12:57 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
maytonА что будет сложного в 7:3 ? Положение числа 1. При раскрутке из центра. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 13:31 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, а что мешает крутить из угла в центр, уменьшая номера клеток? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 14:20 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
maytonРаспечатать прямоугольник цифирками по спирали. Никаких проблем, даже кодить неинтересно. В обработке изображений алгоритм обхода называется цепным кодом Фримена. Просто идем от верхней левой ячейки и ищем ближайшую пустую по- или против часовой. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 14:42 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovПоложение числа 1. При раскрутке из центра. Строим алгоритм обхода "из угла", потом перенумеровываем в обратном порядке. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 15:08 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Соколинский Борис, там нет пустых и не пустых, они не отличаются. Ну, типа, не спортивно царапать автомобили гвоздиком при подсчете ) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 16:09 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
не думаю, что алгоритм Фримена поможет распечатать (именно распечатать, а не "обойти изображение") такую спираль Код: plaintext 1. 2. 3. 4. 5. 6.
да и когда там как-то дохрена для студента тут математикой надо решать построчный перебор и заполнение каждой строки (вектора) с учётом границ, которые сужаются ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 16:26 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
*когда = кода ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 16:26 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Aleksandr Sharahovтам нет пустых и не пустых, они не отличаются. Даже не знаю что сказать. Не могу представить средство разработки в котором невозможно определить, была ли уже заполнена ячейка. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 16:39 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Соколинский БорисAleksandr Sharahovтам нет пустых и не пустых, они не отличаются. Даже не знаю что сказать. Не могу представить средство разработки в котором невозможно определить, была ли уже заполнена ячейка. Функция которая не помнит состояние доски. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 16:49 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
полудухне думаю, что алгоритм Фримена поможет распечатать (именно распечатать, а не "обойти изображение") такую спираль Код: plaintext 1. 2. 3. 4. 5. 6.
да и когда там как-то дохрена для студента тут математикой надо решать построчный перебор и заполнение каждой строки (вектора) с учётом границ, которые сужаютсяЕсли сделать из центра спираль (вместо 2-х на 3 цифры по горизонтали) начиная с 0 и заканчивая 41, то просто меняем очерёдность с 0 - 41 на 41 - 0. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 16:49 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
полудухне думаю, что алгоритм Фримена поможет распечатать (именно распечатать, а не "обойти изображение") такую спираль А в чем проблема? Именно так она и построится. Можно и без Фримена, просто вычеркивать заполненные строки/столбцы и менять направление обхода при завершении линмм ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 16:59 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Gennadiy Usovто просто меняем очерёдность с 0 - 41 на 41 - 0. и что это будет? в одной строке всего 7 ячеек, а вы хотите 42 обходить туда-обратно Соколинский БорисМожно и без Фримена, просто вычеркивать заполненные строки/столбцы и менять направление обхода при завершении линмм затык в границах. Они живут своей жизнью. При этом ещё и сокращаются. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 17:18 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Соколинский Борисполудухне думаю, что алгоритм Фримена поможет распечатать (именно распечатать, а не "обойти изображение") такую спираль А в чем проблема? Именно так она и построится. Можно и без Фримена, просто вычеркивать заполненные строки/столбцы и менять направление обхода при завершении линмм Написать функцию f(m,n,i,j), которая при минимальных затратах памяти возвращает номер присвоенный ячейке [i,j] в матрице m*n. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 17:19 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
полудухGennadiy Usovто просто меняем очерёдность с 0 - 41 на 41 - 0. и что это будет? в одной строке всего 7 ячеек, а вы хотите 42 обходить туда-обратноА если ещё раз взглянуть на картинку (где 42) и подумать. И поставить вместо 41 - 0, вместо 40 - 1, ...., вместо 0 - 41. Что получится? То есть, обход из центра от 0 до 41, а потом меняются цифры в обратном порядке. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 17:39 |
|
|
start [/forum/topic.php?fid=16&msg=39872033&tid=1339880]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
167ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 274ms |
0 / 0 |