![]() |
|
|
![]()
|
|
| Rick |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 4.11.2005 Где: Новосибирск Репутация: нет Всего: 3 |
приветствую
попалась на глаза мне задача по построение магических квадратов, начал делать простым перебором, но вскоре понял, что это нереально. По этому поводу хочу узнать, есть ли другие способы, возможно есть какое-то математическое решение. (в поиске ничего подобного не нашел, если все-таки есть, укажите ссылку) заранее благодарен. --------------------
Не бывает атеистов в окопах под огнем |
|||
|
||||
| DeadSoul |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1217 Регистрация: 25.9.2005 Где: Москва Репутация: 1 Всего: 11 |
Если имеется ввиду квадрат 3 на 3, то там всегда 5 в центре
-------------------- Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". Бьем спамеров их же оружием. Пусть весь спам сыпется им [email protected] |
|||
|
||||
| SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 6 Всего: 74 |
Вот гляди:
Дана сторона квадрата. Если она- четное число-квадрата нет. Иначе строим решетку: Для квадрата стороной 3: 00300 02060 10509 04080 00700 Т.е. выставляем в клеточки по диагонали цифры по порядку, по N штук в ряд. В этом примере это 123 456 и 789. Потом отмечаешь вокруг центрального элемента квадрат, и все, что нажодится по сторонам квадрата, заворачиваешь вовнутрь. Я нарисую картинку, выложу. -------------------- Всем добра |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
математика тебе позволит быстро определить допустимые для данного набора чисел суммы (их может не быть ни одной - т.е. магический квадрат не получится, а может быть и несколько - впрочем допустимая сумма не обязана быть реализуемой нна практике). Это даст возможность резко снизить количество вариантов при переборе. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 6 Всего: 74 |
Не получается он только когда N=1, N=2, N=2K. Когда N=2k+1 квадрат существует, однозначно. Вот для N=5 Такая решетка: 0_0_0_0_5_0_0_0_0 0_0_0_4_0_10_0_0_0 0_0_3_0_9_0_15_0_0 0_2_0_8_0_14_0_20_0 1_0_7_0_13_0_19_0_25 0_6_0_12_0_18_0_24_0 0_0_11_0_17_0_23_0_0 0_0_0_16_0_22_0_0_0 0_0_0_0_21_0_0_0_0 преобразуется в такой квадрат: 3_16_9_22_15 20_8_21_14_2 7_25_13_1_19 24_12_5_18_6 11_4_17_10_23 "_"- разделитель между клеточками. Это сообщение отредактировал(а) SoWa - 6.12.2005, 20:36 -------------------- Всем добра |
|||
|
||||
| Rick |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 4.11.2005 Где: Новосибирск Репутация: нет Всего: 3 |
3_4_9_10_15 =41 ,а
11_16_17_22_23= 89 это же не магический квадрат или я тебя не так понял --------------------
Не бывает атеистов в окопах под огнем |
|||
|
||||
| SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 6 Всего: 74 |
Прости, я не то показал, надо так:
0_0_0_0_5_0_0_0_0 0_0_0_4_0_10_0_0_0 0_0_3_0_9_0_15_0_0 0_2_0_8_0_14_0_20_0 1_0_7_0_13_0_19_0_25 0_6_0_12_0_18_0_24_0 0_0_11_0_17_0_23_0_0 0_0_0_16_0_22_0_0_0 0_0_0_0_21_0_0_0_0 3_16_9_22_15 20_8_21_14_2 7_25_13_1_19 24_12_5_18_6 11_4_17_10_23 Вот так! Выделеные цветом цифры поставишь на места выделенных еулей. Это сообщение отредактировал(а) podval - 7.12.2005, 13:45 -------------------- Всем добра |
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |