Сейчас на форуме: vasilevradislav, rmn, Magister Yoda, tyns777 (+6 невидимых)

 eXeL@B —› Программирование —› Задача о квадратах
Посл.ответ Сообщение


Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 28 июля 2008 02:08 · Поправил: mak
· Личное сообщение · #1

Ктонить сталкивался с написанием магических квадратов. Чтобы в нем с любой стороны сумма была равна .... Мне нужен алгоритм поиска таких квадратов , тоесть чисел в нем с учетом роста квадрата. Вообщем алгоритм оптимального поиска правильного квадрата.

Или же задача сводится к тупому перебору возможных вариантов ? Хотя мне так не кажется ..Спасибо =)

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube





Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 28 июля 2008 02:16
· Личное сообщение · #2

=) ссори там косяк был с вложением

7151_27.07.2008_CRACKLAB.rU.tgz - квадраты.rar

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube





Ранг: 110.0 (ветеран), 1thx
Активность: 0.090
Статус: Участник

Создано: 28 июля 2008 06:45
· Личное сообщение · #3

у меня курсовая была. Генерация магических квадратов n-го порядка.
Писал на турбопаскале, 666 строк где то )))
Генерирует квадраты n-го порядка.
3,4-го порядка есть алго для генерации всевозможных квадратов.

а вот 5 и выше тут уже проблема, есть алгоритмы только для создания одного из подмножеств из всего множества квадратов или вообще алгоритмосы которые штучно квадраты делают (1-3 штук).

В нете я ни чё не нашёл, хороший алго я отрыл в книке: "Занимательнаяа математика" или "Математическая" смекалка уже не помню сейчас.... То есть у меня получилось так что 3,4 мгновенно генерируются и выводятся на экран. А n-го порядка немного с содержкой и чем выше порядок тем выше задерка, но всё равно достаточно приемлемо...

Остались ли исходники и курсовая... хз.. надо смотреть на компе, столько времени прошло.

-----
Никто не знает столько, сколько не знаю я





Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 28 июля 2008 11:42 · Поправил: mak
· Личное сообщение · #4

=) посмотри пожалуста , я нашел тоже кое что isaev подсказал, но посмотрим , соберу инфу а потом уже думать... спасибо

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube





Ранг: 110.0 (ветеран), 1thx
Активность: 0.090
Статус: Участник

Создано: 28 июля 2008 12:34
· Личное сообщение · #5

mak на чём хоть писать прогу будешь?

-----
Никто не знает столько, сколько не знаю я





Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 28 июля 2008 15:04
· Личное сообщение · #6

Писать буду на асме , но неважно в чем код переведу

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube




Ранг: 69.8 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 28 июля 2008 18:34
· Личное сообщение · #7

mak,
в гугле по запросу Magic Squares очень много инфы,
есть исходники и "сях", и на паскале, и на джаве.
--> На этой странице <-- http://www.netstaff.co.jp/msq/msqe.htm , навскидку,
хорошие примеры с сорцами...




Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 28 июля 2008 18:57 · Поправил: mak
· Личное сообщение · #8

userdom млин я искал но не так писал в параметре поиска. Спасибо =)

П.С. да там действительно много =) чисто генерация квадратов, но без симметрии , например крестовая симетрия , или половинная симетрия , круг , повторение квадрата.

Это допустим тогда когда есть определенная структура чисел и по структуре виден рисунок. Так вот =) в лекциях нашел это , но эти проги чисто генерируют такие квадраты все варианты , прчичем иногда правая сторона или верхняя и нижняя колонка не изменяются.

Вопрос стоит об оптимальности поиска симетрии в квадрате =) ... как быть ? может по шаблонам какнить ...сначала делать шаблон нужной симетрии а потом зхапускать поиск и сравнивать квадрат по числам ?...

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube





Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 28 июля 2008 19:21
· Личное сообщение · #9

Вот пример =)

// # - - - - - - - # - - - - - - #
// - # - - - - - - - # - - - - # -
// - - # - - - - - - - # - - # - -
// - - - # - - - - - - - # # - - -
// - - - # - - - - - - - - - - - -
// - - # - - - - - - - - - - - - -
// - # - - - - - - - - - - - - - -
// # - - - - - - - - - - - - - - -
//
// - - - - - - - - - - - - - - - #
// - - - - - - - - - - - - - - # -
// - - - - - - - - - - - - - # - -
// - - - - - - - - - - - - # - - -
// - - - # # - - - - - - - # - - -
// - - # - - # - - - - - - - # - -
// - # - - - - # - - - - - - - # -
// # - - - - - - # - - - - - - - #

и + прога , генерирует любой диапазон магических квадратов например на 9и я увидел 2 полоски пересекающие квадрат и создающие по краям треугольники.

А вот еще , с этим я вообще н сталкивался , после всего нужно проверить устойчивость полученной формы , например треугольники по краям симетрично создадут равновесие. Но если треугольники чуть сьехали на 1 параметр ниже .. то симетрия есть но не устойчивая =)


3426_28.07.2008_CRACKLAB.rU.tgz - MagicSquare.zip

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube





Ранг: 110.0 (ветеран), 1thx
Активность: 0.090
Статус: Участник

Создано: 28 июля 2008 19:53
· Личное сообщение · #10

Та прога которая в атаче, там индийский метод используется, древний очень.

а это прикольно блин:
www.netstaff.co.jp/msq/msqe.htm

-----
Никто не знает столько, сколько не знаю я





Ранг: 110.0 (ветеран), 1thx
Активность: 0.090
Статус: Участник

Создано: 28 июля 2008 20:19
· Личное сообщение · #11

ой можешь собственные методы по генерации большого числа вариантов маг.квадратов не мутить. Юзай что уже есть.

P.S. Циолковский по маг.квадратам отрывался, пытался замутить там что то но походу забил

-----
Никто не знает столько, сколько не знаю я



 eXeL@B —› Программирование —› Задача о квадратах
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати