Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.04.2021, 20:34   #11
polygraph
Пользователь
 
Регистрация: 18.04.2021
Сообщений: 10
По умолчанию

BDA, , А какое можно задать условие остановки цикла? А то while true не остановится
polygraph вне форума Ответить с цитированием
Старый 21.04.2021, 20:48   #12
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Ну можно искать, пока не найдется 92 уникальных решения
Код:
from random import randint

sols = []

def f(k, e):
    if k == 8:
        if e not in sols:
            sols.append(e)
        return True
    candidates = []
    for i in range(8):
        for x, y in e:
            if x == i or abs(y - k) == abs(x - i):
                break
        else:
            candidates.append((i, k))
    if candidates:
        e.append(candidates[randint(0, len(candidates) - 1)])
        res = f(k + 1, e)
        if res:
            return True
    return False

def main():
    while len(sols) != 92:
        f(0, [])

    for s in sols:
        print(s)
        for x, _ in s:
            print(('-' * x) + '*' + ('-' * (7 - x)))

main()
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача о 8 ферзях. Перехват исключений. nevender Помощь студентам 0 02.04.2016 16:19
Задача о 8 ферзях Morfik1 Паскаль, Turbo Pascal, PascalABC.NET 4 03.06.2013 07:59
Задача о ферзях. FCShadow Помощь студентам 0 04.06.2011 23:56
программирование на Си(задача о ферзях) osichev Помощь студентам 4 04.10.2009 18:55