Есть ответ 👍

Задача на C++ Ханойские башни Головоломка “Ханойские башни” состоит из трёх стержней, пронумерованных числами 1, 2, 3. На стержень 1 надета пирамидка из n дисков различного диаметра в порядке возрастания диаметра дисков, если рассматривать их сверху вниз. Диски можно перекладывать с одного стержня на другой по одному, при этом диск нельзя класть на диск меньшего диаметра. Необходимо переложить всю пирамидку со стержня 1 на стержень 3, используя стержень 2 как вс , за минимальное число перекладываний.

Напишите функцию, которая решает головоломку: для данного числа дисков n печатает последовательность перекладываний в формате a b c, где a — номер перекладываемого диска, b — номер стержня, с которого снимается данный диск, c — номер стержня, на который надевается данный диск.

Например, строка 1 2 3 означает перемещение диска номер 1 со стержня 2 на стержень 3. В одной строке печатается одна команда. Диски пронумерованы числами от 1 до n в порядке возрастания диаметров.

Входные данные

Задано натуральное число n≤10 — размер пирамидки.

Выходные данные

Программа должна вывести минимальный (по количеству произведённых операций перекладывания пирамидки из данного числа дисков.

Примеры
Ввод
Вывод
3
1 1 3
2 1 2
1 3 2
3 1 3
1 2 1
2 2 3
1 1 3

155
371
Посмотреть ответы 1

Ответы на вопрос:


program Primer;  // Название программы

var  // Раздел для описания переменных

 a, b, max: integer;  // Объявление целочисленных переменных:

a - хранение первого введенного с клавиатуры числа;b - хранение второго введенного с клавиатуры числа;max - хранение максимального из них.

begin  // Начало программы

 writeln('Введите два целых числа:');  // Вывод сообщения в консоль формата:

Введите два целых числа:

 read(a, b);  // Считываем с клавиатуры два числа

 if a > b then // Если значение переменной a > b, тогда

 begin  // Начало цикла if

   max := a;  // В переменную max присваиваем значение переменной a

 end  // Конец цикла if

 else // Иначе

 begin  // Начало цикла else

   max := b;  // В переменную max присваиваем значение переменной b

 end;  // Конец цикла else

 writeln('Наибольшее число: ', max);  // Вывод сообщения в консоль формата:

Наибольшее число: *значение переменной max*

end. // Конец программы

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS