С Новым годом! Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 21.03.2015
Сообщений: 1

Разместить на шахматной доске 8 тур так, чтобы они не угрожали друг другу

21.03.2015, 14:07. Показов 1936. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
задача на двумерный масив и рекурсии

Помогите написать программу:

Разместить на шахматной доске 8 тур так, чтобы они не угрожали друг другу. Найти все возможные размещения.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.03.2015, 14:07
Ответы с готовыми решениями:

Разместить 8 ферзей на доске так чтобы они не били друг друга
Надо разместить 8 ферзей на доске так чтобы они не били друг друга вот код ну мне нужно ещё сделать так чтобы пользователь вводил...

Рекурсия: расстановка 8 коней на шахматной доске 8х8 так, чтобы они не били друг друга
Всем доброго времени суток! Долго лазила по просторам интернета, но так ничего путного и не нашла. Помогите, пожалуйста, решить...

На шахматной доске необходимо расставить 8 ферзей так, чтобы они не угрожали друг другу
На шахматной доске необходимо расставить 8 ферзей так, чтобы они не угрожали друг другу Делал проверку чтобы только 1 ферзь стоял на 1...

1
 Аватар для APALoff
1648 / 1077 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
21.03.2015, 16:43
Лучший ответ Сообщение было отмечено Maxim2331 как решение

Решение

На Pabc.NET время перебора всех вариантов составило:
Всего выриантов: 40320
Затраченное время: 10 минут 28сек
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Var
  n                       : Longint;
  i1,i2,i3,i4,i5,i6,i7,i8 : Byte;
 
Function ShowStr(k :Byte) : String;
Var s : String;
Begin
  s:='1';
  While Length(s)<k do s:='0'+s;
  While Length(s)<8 do s:=s+'0';
  ShowStr:=s;
end;
  
Begin
  n:=0;
  For i1:=0 to 7 do
   For i2:=0 to 7 do
    For i3:=0 to 7 do
     For i4:=0 to 7 do
      For i5:=0 to 7 do
       For i6:=0 to 7 do
        For i7:=0 to 7 do
         For i8:=0 to 7 do
           If ((1 shl i1) or (1 shl i2) or (1 shl i3) or (1 shl i4) or (1 shl i5) or (1 shl i6) or (1 shl i7) or (1 shl i8))=255  then
           Begin
             Writeln(ShowStr(i1+1));
             Writeln(ShowStr(i2+1));
             Writeln(ShowStr(i3+1));
             Writeln(ShowStr(i4+1));
             Writeln(ShowStr(i5+1));
             Writeln(ShowStr(i6+1));
             Writeln(ShowStr(i7+1));
             Writeln(ShowStr(i8+1));
             Writeln;
             Inc(n);
           end;
   Writeln('Всего выриантов: ',n);
   Writeln('Затраченное время: ',Milliseconds div 1000 div 60,' минут ',Milliseconds div 1000 mod 60,'сек');
end.
Добавлено через 17 минут
В консольном режиме (запустить EXE-шник) быстрее:
Всего выриантов: 40320
Затраченное время: 0 минут 16сек
Добавлено через 51 секунду
Правда в простом ABC экзешник не сделать ))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.03.2015, 16:43
Помогаю со студенческими работами здесь

Сколькими способами можно разместить на шахматной доске восемь ладей так, чтобы они не били друг друга?
Помогите решить, задачу,если есть возможность объяснить первый шаг решения задачи,или общий ход решения. Сколькими способами можно...

Расставить 8 ферзей на шахматной доске так, чтобы они не били друг друга
В коде какая-то ошибка поправьте пожалуйста unit Unit1; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils,...

На шахматной доске расставить 8 ферзей так, чтобы они не били друг друга
На шахматной доске расставить 8 ферзей так, чтобы они не били друг друга

Рекурсия: расставить на шахматной доске 8 ладей так, чтобы они не били друг друга
Нужно расставить на шахматной доске 8 ладей так, чтобы они не били друг друга, вот что я наваял: using System; using...

Рекурсия: На шахматной доске расставить 8 ферзей так, чтобы они не били друг друга
Всем привет. Прошу помочь в решении задачи в VBA c помощью рекурсии. Задача: На шахматной доске расставить 8 ферзей так, чтобы они не...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru