<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=383681&amp;view=findpost&amp;p=3374978</guid>
        <pubDate>Tue, 12 Nov 2013 05:51:37 +0000</pubDate>
        <title>ПРИМЕНЕНИЕ СПИСКОВЫХ СТРУКТУР, никто не смог решить(((((</title>
        <link>https://forum.sources.ru/index.php?showtopic=383681&amp;view=findpost&amp;p=3374978</link>
        <description><![CDATA[Агния: Требуется запрограммировать поиск правильной расстановки 8 ферзей на шахматной доске, т.е. такой чтобы<br>
эти ферзи не били друг друга.<br>
<br>
С помощью предиката uazirler (queens) 2-х аргументов, найти все правильные расстановки ферзей на шахматной доске размером , в которых на 3-ей вертикале ферзи стоят на нечетных, а в 4-ой вертикале на четных горизонталях.<br>
prolog 5.2<br>
<br>
/*************UAZIRLER****************/<br>
DOMAINS<br>
i=integer<br>
l=i*<br>
 <br>
PREDICATES<br>
uazirler(l,i)<br>
uazirler(l,l,l)<br>
zheydy(i,l,i)<br>
member(i,l)<br>
delete(i,l,l)<br>
generate(i,i,l)<br>
 <br>
CLAUSES<br>
% uazirler(List,Number)<br>
uazirler(T,N):-<br>
  generate(1,N,U),<br>
  uazirler(T,[],U).<br>
 <br>
% uazirler(List,Sufix,Prefix )<br>
uazirler(T,T,[]).<br>
uazirler(T,W,U0):-<br>
  member(A,U0),<br>
  not(zheydy(A,W,1)),<br>
  delete(A,U0,U1),<br>
  uazirler(T,[A|W],U1).<br>
 <br>
zheydy(A,[B|W],R):-<br>
  R=abs(A-B);<br>
  R1=R+1,<br>
  zheydy(A,W,R1).<br>
  <br>
member(A,[A|U]).<br>
member(A,[_|U]):-<br>
  member(A,U).<br>
 <br>
delete(A,[A|U],U).<br>
delete(A,[B|U0],[B|U1]):-<br>
  delete(A,U0,U1).<br>
 <br>
generate (M,M,[M]).<br>
generate (N,M,[N|S]):-<br>
  N&lt;M,<br>
  N1=N+1,<br>
  generate (N1,M,S).]]></description>
        <author>Агния</author>
        <category>Prolog</category>
      </item>
	
      </channel>
      </rss>
	