Поиск:

Ответ в темуСоздание новой темы Создание опроса
> магический квадрат 
:(
    Опции темы
Rick
Дата 3.12.2005, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 4.11.2005
Где: Новосибирск

Репутация: нет
Всего: 3



приветствую
попалась на глаза мне задача по построение магических квадратов, начал делать простым перебором, но вскоре понял, что это нереально. По этому поводу хочу узнать, есть ли другие способы, возможно есть какое-то математическое решение.

(в поиске ничего подобного не нашел, если все-таки есть, укажите ссылку)
заранее благодарен.

--------------------
Не бывает атеистов в окопах под огнем   
PM MAIL ICQ   Вверх
DeadSoul
Дата 3.12.2005, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1217
Регистрация: 25.9.2005
Где: Москва

Репутация: 1
Всего: 11



Если имеется ввиду квадрат 3 на 3, то там всегда 5 в центре


--------------------
 Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". 

Бьем спамеров их же оружием. Пусть весь спам сыпется им
[email protected] 
PM   Вверх
SoWa
Дата 4.12.2005, 20:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 6
Всего: 74



Вот гляди:
Дана сторона квадрата. Если она- четное число-квадрата нет.
Иначе строим решетку:
Для квадрата стороной 3:

00300
02060
10509
04080
00700

Т.е. выставляем в клеточки по диагонали цифры по порядку, по N штук в ряд.
В этом примере это 123 456 и 789.
Потом отмечаешь вокруг центрального элемента квадрат, и все, что нажодится по сторонам квадрата, заворачиваешь вовнутрь. Я нарисую картинку, выложу.


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
Akina
Дата 4.12.2005, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Цитата(Rick @ 3.12.2005, 20:44)
возможно есть какое-то математическое решение.

математика тебе позволит быстро определить допустимые для данного набора чисел суммы (их может не быть ни одной - т.е. магический квадрат не получится, а может быть и несколько - впрочем допустимая сумма не обязана быть реализуемой нна практике). Это даст возможность резко снизить количество вариантов при переборе.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
SoWa
Дата 5.12.2005, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 6
Всего: 74



Цитата(Akina @ 4.12.2005, 21:40)
т.е. магический квадрат не получится,

Не получается он только когда 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


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
Rick
Дата 5.12.2005, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 4.11.2005
Где: Новосибирск

Репутация: нет
Всего: 3



3_4_9_10_15 =41 ,а
11_16_17_22_23= 89 это же не магический квадрат или я тебя не так понял
--------------------
Не бывает атеистов в окопах под огнем   
PM MAIL ICQ   Вверх
SoWa
Дата 6.12.2005, 20:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 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


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0491 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.