powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Ну что... с пятницей чтоли
25 сообщений из 94, страница 1 из 4
Ну что... с пятницей чтоли
    #39871850
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пятничная экзотическая задачка.

Распечатать прямоугольник цифирками по спирали.

123654

Или
123894765

Реализация - чем экзотичнее - тем лучше. Brainfuck. Машина Тьюринга. Perl. Функциональщина.
Формула мат-лаба. Чистая функция или грязная. SQL-запрос. Конечные-бесконечне автоматы.
Корутины.

Вобщем проявите фантазию. Разумеется параметризация должна быть. 2х3 или 3х3....

Gogo кодить!!!

Самому отличившемуся - респект.
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39871856
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я тоже на эту тему задумывался :)

Предлагаю чуть упростить задачу: прямоугольник заменяем квадратом, а спираль закручиваем внутрь, т.е.
Код: plaintext
1.
2.
1 2 3
8 9 4
7 6 5

Так и код будет красивее и студентам списать не получится.
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872015
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Квадрат это слишком просто. Прямоугольник 7х3 - вот это вызов.
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872018
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что будет сложного в 7:3 ? Или чем сложнее?
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872030
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для квадрата размера N. На неком гипотетическом Logo.
выглядело бы так.

Код: sql
1.
2.
3.
4.
5.
Вперед N
Поворот вправо
....
N=N-1
И повтор.


Это будет просто закрашивание. А нам надо добавить еще учет количества.
Тоесть движение черепашки вперед - это еще и закрашивание сиквенсом.
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872033
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забавная штука есть Piet. Язык программирования где команды - это цветные квадраты. А растр - это суть исходник.

http://www.dangermouse.net/esoteric/piet/samples.html
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872142
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я тут подумал что можно попробовать решить другую задачу: имея размер квадрата и координаты ячейки рассчитать ее номер.

Каждый квадрат 2N-2 ячеек, где N размер стороны. Отсюда вычисляем первое число квадрата. Далее надо как-то получить N и на каком месте ячейка
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872164
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В топике Тяпничная география
мы решали более интересную задачу. Обход плоскости по кривой Гилберта. Кривая интересна тем что расстояние между
соседними точками всегда 1 в абсолютном эквиваленте. И любые интервалы отложенные вдоль этой кривой всегда
представляют собой композицию квадратов. Причем минимальную. Я обратил внимание тогда что эту кривую часто
используют для графического изображения интервалов IP-blocks.
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872167
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

тему топика вроде обсуждали уже тут:
https://www.sql.ru/forum/1118954-1/obhod-pryamougolnika-po-spirali-poisk-bolee-podhodyashhego-algoritma
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872172
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr Sharahov,

Да это клон. Я создал. Как и обещал но с другим смыслом.
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872185
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonА что будет сложного в 7:3 ?
Положение числа 1. При раскрутке из центра.
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872194
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

а что мешает крутить из угла в центр, уменьшая номера клеток?
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872200
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonРаспечатать прямоугольник цифирками по спирали. Никаких проблем, даже кодить неинтересно.
В обработке изображений алгоритм обхода называется цепным кодом Фримена.
Просто идем от верхней левой ячейки и ищем ближайшую пустую по- или против часовой.
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872205
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovПоложение числа 1. При раскрутке из центра. Строим алгоритм обхода "из угла", потом перенумеровываем в обратном порядке.
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872210
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соколинский Борис,

там нет пустых и не пустых, они не отличаются.

Ну, типа, не спортивно царапать автомобили гвоздиком при подсчете )
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872214
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не думаю, что алгоритм Фримена поможет распечатать (именно распечатать, а не "обойти изображение") такую спираль
Код: plaintext
1.
2.
3.
4.
5.
6.
0   1   2   3   4   5   6
21  22  23  24  25  26  7
20  35  36  37  38  27  8
19  34  41  40  39  28  9
18  33  32  31  30  29  10
17  16  15  14  13  12  11


да и когда там как-то дохрена для студента
тут математикой надо решать
построчный перебор и заполнение каждой строки (вектора) с учётом границ, которые сужаются
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872215
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*когда = кода
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872218
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr Sharahovтам нет пустых и не пустых, они не отличаются. Даже не знаю что сказать.
Не могу представить средство разработки в котором невозможно определить, была ли уже заполнена ячейка.
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872221
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соколинский БорисAleksandr Sharahovтам нет пустых и не пустых, они не отличаются. Даже не знаю что сказать.
Не могу представить средство разработки в котором невозможно определить, была ли уже заполнена ячейка.
Функция которая не помнит состояние доски.
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872222
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
полудухне думаю, что алгоритм Фримена поможет распечатать (именно распечатать, а не "обойти изображение") такую спираль
Код: plaintext
1.
2.
3.
4.
5.
6.
0   1   2   3   4   5   6
21  22  23  24  25  26  7
20  35  36  37  38  27  8
19  34  41  40  39  28  9
18  33  32  31  30  29  10
17  16  15  14  13  12  11


да и когда там как-то дохрена для студента тут математикой надо решать
построчный перебор и заполнение каждой строки (вектора) с учётом границ, которые сужаютсяЕсли сделать из центра спираль
(вместо 2-х на 3 цифры по горизонтали)
начиная с 0 и заканчивая 41,
то просто меняем очерёдность с 0 - 41 на 41 - 0.
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872226
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудухне думаю, что алгоритм Фримена поможет распечатать (именно распечатать, а не "обойти изображение") такую спираль А в чем проблема? Именно так она и построится.
Можно и без Фримена, просто вычеркивать заполненные строки/столбцы и менять направление обхода при завершении линмм
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872230
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usovто просто меняем очерёдность с 0 - 41 на 41 - 0.
и что это будет?
в одной строке всего 7 ячеек, а вы хотите 42 обходить туда-обратно
Соколинский БорисМожно и без Фримена, просто вычеркивать заполненные строки/столбцы и менять направление обхода при завершении линмм
затык в границах. Они живут своей жизнью. При этом ещё и сокращаются.
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872231
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соколинский Борисполудухне думаю, что алгоритм Фримена поможет распечатать (именно распечатать, а не "обойти изображение") такую спираль А в чем проблема? Именно так она и построится.
Можно и без Фримена, просто вычеркивать заполненные строки/столбцы и менять направление обхода при завершении линмм

Написать функцию f(m,n,i,j), которая при минимальных затратах памяти
возвращает номер присвоенный ячейке [i,j] в матрице m*n.
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872235
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
полудухGennadiy Usovто просто меняем очерёдность с 0 - 41 на 41 - 0.
и что это будет?
в одной строке всего 7 ячеек, а вы хотите 42 обходить туда-обратноА если ещё раз взглянуть на картинку (где 42) и подумать.

И поставить вместо 41 - 0, вместо 40 - 1, ...., вместо 0 - 41.
Что получится?

То есть, обход из центра от 0 до 41, а потом меняются цифры в обратном порядке.
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872236
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Двумерная поверхность по форме напоминающая пирамидку.
...
Рейтинг: 0 / 0
25 сообщений из 94, страница 1 из 4
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Ну что... с пятницей чтоли
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]