Файл: Лабораторная работа 9 Числа и перестановки в Прологе Задача 1.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 23.11.2023
Просмотров: 92
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Лабораторная работа № 9Числа и перестановки в ПрологеЗадача 1.Имеется шесть четырёхзначных чисел. 7013, 9532, 2084, 4237, 3569 и 2374. Необходимо расположить их в цепочку так, чтобы последняя цифра предыдущего числа совпадала с первой цифрой следующего. Напишите программу, которая выводит все такие цепочки.Программа будет такой.predicatesnumber (integer)solve (integer,integer,integer,integer,integer,integer)сlausesnumber (7013).number (9532).number (2084).number (4237).number (3569).number (2374).solve(X1,X2,X3,X4,X5,X6):-number(X1), number(X2), X2<>X1, X1 mod 10=X2 div 1000, number(X3), X3<>X1,X3<>X2, X2 mod 10=X3 div 1000, number(X4), X4<>X1,X4<>X2,X4<>X3, X3 mod 10=X4 div 1000, number(X5), X5<>X1,X5<>X2,X5<>X3,X5<>X4, X4 mod 10=X5 div 1000, number(X6), X6<>X1,X6<>X2,X6<>X3,X6<>X4,X6<>X5, X5 mod 10=X6 div 1000.goalsolve(X1,X2,X3,X4,X5,X6).Объясните, как Пролог находит решение. В разделе goalcпросите, есть ли цепочка, которая начинается с числа 2084.Задача 2.Найдите все перестановки чисел 1, 2, 3, 4 и 5, в которых ни одно число не стоит на своём месте. Для этого напишите программу.Задача 3.На обед короля Артура приглашено шесть рыцарей. Сид, Ричард, Гарольд, Томас, Ланселот и Передур. Сид и Ричард, Гарольд и Томас, Ланселот и Передур, Сид и Передур враждуют друг с другом. Необходимо рассадить их за круглый стол так, чтобы никакие два врага не сидели рядом. Напишите программу, которая выводит все такие рассадки.