N-queens problem: Difference between revisions
Content added Content deleted
Thundergnat (talk | contribs) m (fix markup) |
|||
Line 4,664: | Line 4,664: | ||
=={{header|EasyLang}}== |
=={{header|EasyLang}}== |
||
<syntaxhighlight lang="easylang"> |
<syntaxhighlight lang="easylang"> |
||
subr show_sol |
|||
print "Solution " & n_sol |
print "Solution " & n_sol |
||
print "" |
print "" |
||
for i |
for i = 1 to n |
||
write " " |
write " " |
||
for j |
for j = 1 to n |
||
if j = x[i] |
if j = x[i] |
||
write "Q " |
write "Q " |
||
Line 4,682: | Line 4,683: | ||
subr test |
subr test |
||
ok = 1 |
ok = 1 |
||
for i |
for i = 1 to y - 1 |
||
if x[y] = x[i] or abs (x[i] - x[y]) = abs (y - i) |
if x[y] = x[i] or abs (x[i] - x[y]) = abs (y - i) |
||
ok = 0 |
ok = 0 |
||
Line 4,690: | Line 4,691: | ||
n = 8 |
n = 8 |
||
len x[] n |
len x[] n |
||
y = |
y = 1 |
||
x[ |
x[1] = 1 |
||
while y >= |
while y >= 1 |
||
call test |
call test |
||
if ok = 1 and y + 1 < |
if ok = 1 and y + 1 <= n |
||
y += 1 |
y += 1 |
||
x[y] = |
x[y] = 1 |
||
else |
else |
||
if ok = 1 |
if ok = 1 |
||
Line 4,704: | Line 4,705: | ||
. |
. |
||
. |
. |
||
while y >= |
while y >= 1 and x[y] = n |
||
y -= 1 |
y -= 1 |
||
. |
. |
||
if y >= |
if y >= 1 |
||
x[y] += 1 |
x[y] += 1 |
||
. |
. |
||
. |
. |
||
. |
. |
||
print n_sol & " solutions" |
print n_sol & " solutions" |
||
</syntaxhighlight> |
|||
{{out}} |
{{out}} |
||
<pre>Solution 1 |
<pre>Solution 1 |