Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
nikitapel
36 / 36 / 4
Регистрация: 20.03.2011
Сообщений: 331
#1

Задача.Магический квадрат. - C++

15.11.2011, 19:35. Просмотров 742. Ответов 2
Метки нет (Все метки)

Хочу решить задачу.
http://atpp.vstu.edu.ru/cgi-bin/arh_....pl?id_prb=994.
Подскажите по какому принципу действовать?
С чего вообще начать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2011, 19:35     Задача.Магический квадрат.
Посмотрите здесь:

Магический квадрат и другие задачи C++
Магический квадрат C++
Магический квадрат C++
Магический квадрат) C++
C++ Магический квадрат
Магический квадрат C++
C++ Магический квадрат
C++ Магический квадрат, предикаты
C++ Задача с матрицей (магический квадрат)
C++ Магический квадрат матрицы
Магический квадрат C++
Магический квадрат C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TwiX
60 / 60 / 1
Регистрация: 27.10.2011
Сообщений: 189
15.11.2011, 21:04     Задача.Магический квадрат. #2
Самое простое - перебор + рекурсия. Рискну предположить, что любой квадрат можно привести к магическому не более чем за ~10 ходов. А так как на каждом ходу возможно всего 12 вариантов, то в 3 секунды такая прога должна уложится.
Делаешь функцию:
bool FindMagicSquare(int *sq, int N);
Где sq - числа в квадрате, а N число итераций - сколько можно сделать функции. Если находит квадрат, то возвращает true.
И потом пишешь цикл:
C++
1
2
int i=0;
while (!FindMagicSquare(sq, ++i)) ;
В функцию ещё массив надо передавать, который ходы будет записывать.

Как-то писал решатель судоку похожим методом. Работает недолго, а вариантов там гораздо больше.
nikitapel
36 / 36 / 4
Регистрация: 20.03.2011
Сообщений: 331
15.11.2011, 21:54  [ТС]     Задача.Магический квадрат. #3
TwiX спасибо буду разбираться
Yandex
Объявления
15.11.2011, 21:54     Задача.Магический квадрат.
Ответ Создать тему
Опции темы

Текущее время: 10:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru