1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
| nastya_ab |
Сообщение
#1
|
|
Гость |
Помогите пожалуйста!
Ладьи. Требуется найти такую расстановку 8 ладей на шахматной доске, при которой они не будут угрожать друг другу. Первые три фигуры расставляет пользователь. |
![]() ![]() |
| Michael_Rybak |
Сообщение
#2
|
|
Michael_Rybak ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 046 Пол: Мужской Реальное имя: Michael_Rybak Репутация: 32 |
Цитата Фи, ссылка... Договорились - давайте придумывать |
| Lapp |
Сообщение
#3
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Договорились - давайте придумывать Я некоторое время чувствовал себя некомфортно, как бы с долгом Я привожу код, который заполняет массив [1..n] неповторяющимися случайными числами от 1 до n. Код не использует множеств, так что размер массива ограничен выбранным типом переменных (в ТР - по сути, размером блока). Код должен работать, мне кажется, быстрее предыдущего моего варианта. Принцип такой: - заполняем массив (RestNum) номерами по порядку (это те номера, которые остались); - в цикле выдергиваем из этого массива по одному элементу случайным образом и кладем в массив Num, заполняя его по порядку; - образовавщуюся в RestNum от изымания элемента дыру заполняем, сдвигая хвост массива на один элемент влево, начиная с номера сразу за дырой; - размер RestNum при этом как бы эффективно уменьшается на 1 (переменная m), что мы учитываем, уменьшая диапазон случайных чисел. Вот сам код. Его можно оформить в виде процедуры при желании const Сообщение отредактировано: Lapp - -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
nastya_ab Ладьи 16.06.2007 11:11
Lapp Введи два множества: для букв и для цифр. Затем в… 16.06.2007 16:19
nasta_ab
Введи два множества: для букв и для цифр. Затем … 17.06.2007 23:49
klem4 На сомом деле не лучший вариант, и по идее чисто т… 18.06.2007 10:36
Michael_Rybak А по-моему вариант хороший :) Вероятность того, чт… 18.06.2007 11:55
Lapp А мне кажется, что klem4 прав. По сути, я ждал эт… 19.06.2007 16:21
Michael_Rybak Во-первых, 1000х1000 не получится из-за set.
А бы… 20.06.2007 15:01
Lapp
Могу дать ссылку где почитать, если интересно :)
… 20.06.2007 15:28
volvo Или реализуй BigSet (почему я и пользуюсь всегда I… 20.06.2007 15:35
Michael_Rybak Lapp, +1. А я знаете как решил ее относительно нед… 23.06.2007 17:04![]() ![]() |
|
Текстовая версия | 6.11.2025 5:37 |