Ответы пользователя по тегу Рекурсия
  • Ханойские башни на Python?

    @ultraevs
    Student
    def hanoi(a, b, c, n):
        if n == 1:  # рекурсивное конечное условие
            print(a, '->', c)
        else:
            hanoi(a, c, b, n - 1)
            print(a, '->', c)
            hanoi(b, a, c, n - 1)
    
    hanoi('A', 'B', 'C', 5)


    Вот код, который будет расписывать все шаги. В аргументах функции hanoi указывается три башни А, В, С и число.
    Если число равняется одному, то логично, что потребуется только один шаг перемещения. Если число оказывается не равным 1, то функция вызывает сама себя, но уменьшив число на один так как одна операция уже произошла и меняет местами башни, после чего печатает новый результат. После снова проверяет не равно ли 1, если нет, то цикл повторяется.
    Ответ написан