powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / ПРИМЕНЕНИЕ СПИСКОВЫХ СТРУКТУР
1 сообщений из 1, страница 1 из 1
ПРИМЕНЕНИЕ СПИСКОВЫХ СТРУКТУР
    #38461394
KalinaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Требуется запрограммировать поиск правильной расстановки 8 ферзей на шахматной доске, т.е. такой чтобы
эти ферзи не били друг друга.

С помощью предиката uazirler (queens) 2-х аргументов, найти все правильные расстановки ферзей на шахматной доске размером , в которых на 3-ей вертикале ферзи стоят на нечетных, а в 4-ой вертикале на четных горизонталях.

prolog 5.2

/*************UAZIRLER****************/
DOMAINS
i=integer
l=i*

PREDICATES
uazirler(l,i)
uazirler(l,l,l)
zheydy(i,l,i)
member(i,l)
delete(i,l,l)
generate(i,i,l)

CLAUSES
% uazirler(List,Number)
uazirler(T,N):-
generate(1,N,U),
uazirler(T,[],U).

% uazirler(List,Sufix,Prefix )
uazirler(T,T,[]).
uazirler(T,W,U0):-
member(A,U0),
not(zheydy(A,W,1)),
delete(A,U0,U1),
uazirler(T,[A|W],U1).

zheydy(A,[B|W],R):-
R=abs(A-B);
R1=R+1,
zheydy(A,W,R1).

member(A,[A|U]).
member(A,[_|U]):-
member(A,U).

delete(A,[A|U],U).
delete(A,[B|U0],[B|U1]):-
delete(A,U0,U1).

generate (M,M,[M]).
generate (N,M,[N|S]):-
N<M,
N1=N+1,
generate (N1,M,S).
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / ПРИМЕНЕНИЕ СПИСКОВЫХ СТРУКТУР
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]