Задача про вісім ферзів: відмінності між версіями
[перевірена версія] | [перевірена версія] |
Вилучено вміст Додано вміст
м Категоризація за вмістом |
м заміна застарілого тегу source |
||
Рядок 42:
Для шахівниці 8×8 програма переглядає {{formatnum:15720}} позицій.
<
def queenproblem(rows, cols):
if rows <= 0:
Рядок 74:
return False
return True
</syntaxhighlight>
Цей рекурсивний алгоритм можна перетворити на ітеративний алгоритм без рекурсії.
=== Реалізація задачі про вісім ферзів на мові програмування С++ ===
<
#include "stdafx.h"
#include <iostream>
Рядок 125:
return 0;
}
</
=== Програмування в обмеженнях ===
Рядок 133:
Наступна програма мовою [[Пролог (мова програмування)|Пролог]] (діалект ''[[GNU Prolog]]'') швидко знаходить розв'язок і для задач на більших шахівницях.
<
/* Цей предикат створює список, який відповідає розв'язку задачі.
Список містить числа від 1 до N без повторів. */
Рядок 153:
not_beats(_,[],_).
not_beats(X,[Y|Xs],N) :- X#\=Y+N, X#\=Y-N, T#=N+1, not_beats(X,Xs,T).
</syntaxhighlight>
== Розв'язки ==
|