hanoi.gif
8.3 KB
Задача 41. Ханойские Башни
🎓 Анонс задачи 41. Ханойские башни (решение будет в пятницу)
Даны три стержня A, B, C, на один из которых нанизаны N колец, причём кольца отличаются размером и лежат меньшее на большем.
Задача состоит в том, чтобы перенести пирамиду из N колец за наименьшее число ходов на другой стержень. За один раз разрешается переносить только одно кольцо, причём нельзя класть большее кольцо на меньшее.
Напишите функцию разбора для N колец. Функция должна выводить на экран каждый шаг.
Даны три стержня A, B, C, на один из которых нанизаны N колец, причём кольца отличаются размером и лежат меньшее на большем.
Задача состоит в том, чтобы перенести пирамиду из N колец за наименьшее число ходов на другой стержень. За один раз разрешается переносить только одно кольцо, причём нельзя класть большее кольцо на меньшее.
Напишите функцию разбора для N колец. Функция должна выводить на экран каждый шаг.
#c_sharp #tower_of_hanoi
Мы снова на связи!
Итак, выкладываю решение задачи про ханойские башни.
В конце разбора вы также можете найти ссылки на дополнительный материал по этой задаче.
Кстати, я немного ошибся с названием, классическая задача называется "Ханойская башня" :)
http://telegra.ph/Task-41-Hanojskie-bashni-11-02
Мы снова на связи!
Итак, выкладываю решение задачи про ханойские башни.
В конце разбора вы также можете найти ссылки на дополнительный материал по этой задаче.
Кстати, я немного ошибся с названием, классическая задача называется "Ханойская башня" :)
http://telegra.ph/Task-41-Hanojskie-bashni-11-02
Telegraph
Task 41. Ханойские башни
Задача: даны три стержня A, B, C, на один из которых нанизаны N колец, причём кольца отличаются размером и лежат меньшее на большем. Задача состоит в том, чтобы перенести пирамиду из N колец за наименьшее число ходов на другой стержень. За один раз разрешается…
Также выкладываю варианты решений от наших подписчиков: @yuliok_07, @kirillmotrichkin и @KoldunMax
Ребят, молодцы!
http://telegra.ph/Task-41-1-Hanojskie-bashni-11-17
Ребят, молодцы!
http://telegra.ph/Task-41-1-Hanojskie-bashni-11-17
Telegraph
Task 41_1. Ханойские башни
Задача: даны три стержня A, B, C, на один из которых нанизаны N колец, причём кольца отличаются размером и лежат меньшее на большем. Задача состоит в том, чтобы перенести пирамиду из N колец за наименьшее число ходов на другой стержень. За один раз разрешается…
🎓 Анонс задачи 42: Баланс скобок (решение будет в понедельник)
Дана строка, содержащая скобки ( ) и { }.
Скобочное выражение считается правильным, если:
1. для каждой открывающей скобки справа от нее есть соот-щая закрывающая скобка и наоборот.
2. соответствующие пары скобок разным типов правильно вложены друг в друга.
Длина строки не больше 128 символов.
Написать функцию, ктр проверит баланс скобок в заданной строке.
Например:
({(){}()})() - баланс скобок
({(}){}) - баланс скобок нарушен
P.S. присылайте ваши варианты решений этой задачи, лучшие работы я как обычно опубликую. Также не забываем оставлять комментарии или писать идею/ход решения в ваших работах.
Всем хороших выходных! 😜
Дана строка, содержащая скобки ( ) и { }.
Скобочное выражение считается правильным, если:
1. для каждой открывающей скобки справа от нее есть соот-щая закрывающая скобка и наоборот.
2. соответствующие пары скобок разным типов правильно вложены друг в друга.
Длина строки не больше 128 символов.
Написать функцию, ктр проверит баланс скобок в заданной строке.
Например:
({(){}()})() - баланс скобок
({(}){}) - баланс скобок нарушен
P.S. присылайте ваши варианты решений этой задачи, лучшие работы я как обычно опубликую. Также не забываем оставлять комментарии или писать идею/ход решения в ваших работах.
Всем хороших выходных! 😜
🔥🔥🔥Содержание канала @UniLecs для быстрой навигации по задачам и статьям!
http://telegra.ph/Spisok-zadach-11-19
http://telegra.ph/Spisok-zadach-11-19
Telegraph
Unique Lectures
Задачи по алгоритмам и программированию Все ли символы в строке встречаются один раз Найти минимальный элемент в отсортированном по возрастанию и циклически сдвинутом массиве Заменить все пробелы в строке символами '%20' Вывести индекс заданного элемента…
#c_sharp #stack
Публикую решение задачи 42: Баланс скобок.
http://telegra.ph/Task-42-Balans-skobok-11-02
Публикую решение задачи 42: Баланс скобок.
http://telegra.ph/Task-42-Balans-skobok-11-02
Telegraph
Task 42. Баланс скобок
Задача: имеется строка, содержащая скобки ( ) и { }. Скобочное выражение считается правильным, если: для каждой открывающей скобки справа от нее есть соот-щая закрывающая скобка и наоборот. Соответствующие пары скобок разным типов правильно вложены друг в…
🔥 Многие из вас прислали нам свои решения задачи 42.
И почти все из вас решили поставленную задачу верно. Но публикую я только одно решение!
И сейчас обьясню почему.
Вы почему то решили, что в строке содержатся ТОЛЬКО заданные скобки и написали алгоритм для рафинированного случая, когда строка состоит только из скобок.
Хотя я намеренно опустил в условии примеры с произвольным текстом.
Вы решили задачу не в общем случае, а в частном. Такой подход возможно где то прокатит на собеседовании, но не в реальной жизни. Да и зачастую интервьюер также спросит, что нужно добавить/исправить, чтобы решить задачу в общем случае.
Ребят, Спасибо вам за вашу активность, но будьте внимательны в решении задач!
http://telegra.ph/Task-42-1-Balans-skobok-11-20
И почти все из вас решили поставленную задачу верно. Но публикую я только одно решение!
И сейчас обьясню почему.
Вы почему то решили, что в строке содержатся ТОЛЬКО заданные скобки и написали алгоритм для рафинированного случая, когда строка состоит только из скобок.
Хотя я намеренно опустил в условии примеры с произвольным текстом.
Вы решили задачу не в общем случае, а в частном. Такой подход возможно где то прокатит на собеседовании, но не в реальной жизни. Да и зачастую интервьюер также спросит, что нужно добавить/исправить, чтобы решить задачу в общем случае.
Ребят, Спасибо вам за вашу активность, но будьте внимательны в решении задач!
http://telegra.ph/Task-42-1-Balans-skobok-11-20
Telegraph
Task 42_1. Баланс скобок
Задача: имеется строка, содержащая скобки ( ) и { }. Скобочное выражение считается правильным, если: для каждой открывающей скобки справа от нее есть соот-щая закрывающая скобка и наоборот. Соответствующие пары скобок разным типов правильно вложены друг в…
🎓 Анонс задачи 43: Коробки (решение будет в среду)
На столе лежат коробка размера A1 × B1 × C1 и коробка размера A2 × B2 × C2.
Выясните можно ли одну из этих коробок положить в другую, если разрешены повороты коробок вокруг любого ребра на угол 90 градусов.
Входные данные, A1, B1, C1, A2, B2, C2 - натуральные числа (<= 100).
Напишите функцию, ктр проверит коробки:
1. Если коробки одинаковы, выведите "Boxes are equal"
2. Если первая коробка может быть положена во вторую, выведите "The first box is smaller than the second one"
3. Если вторая коробка может быть положена в первую, выведите "The first box is larger than the second one"
4. Иначе, выведите "Boxes are incomparable"
Например:
1. A1 = 1, B1 = 2, C1 = 3
A2 = 3, B2 = 2, C2 = 1
Boxes are equal
2. A1 = 2, B1 = 2, C1 = 3
A2 = 3, B2 = 2, C2 = 1
The first box is larger than the second one
3. A1 = 2, B1 = 2, C1 = 3
A2 = 3, B2 = 2, C2 = 3
The first box is smaller than the second one
4. A1 = 3, B1 = 4, C1 = 5
A2 = 2, B2 = 4, C2 = 6
Boxes are incomparable
Условие задачи взято с сайта acmp.ru
На столе лежат коробка размера A1 × B1 × C1 и коробка размера A2 × B2 × C2.
Выясните можно ли одну из этих коробок положить в другую, если разрешены повороты коробок вокруг любого ребра на угол 90 градусов.
Входные данные, A1, B1, C1, A2, B2, C2 - натуральные числа (<= 100).
Напишите функцию, ктр проверит коробки:
1. Если коробки одинаковы, выведите "Boxes are equal"
2. Если первая коробка может быть положена во вторую, выведите "The first box is smaller than the second one"
3. Если вторая коробка может быть положена в первую, выведите "The first box is larger than the second one"
4. Иначе, выведите "Boxes are incomparable"
Например:
1. A1 = 1, B1 = 2, C1 = 3
A2 = 3, B2 = 2, C2 = 1
Boxes are equal
2. A1 = 2, B1 = 2, C1 = 3
A2 = 3, B2 = 2, C2 = 1
The first box is larger than the second one
3. A1 = 2, B1 = 2, C1 = 3
A2 = 3, B2 = 2, C2 = 3
The first box is smaller than the second one
4. A1 = 3, B1 = 4, C1 = 5
A2 = 2, B2 = 4, C2 = 6
Boxes are incomparable
Условие задачи взято с сайта acmp.ru
#js #python
У нас все больше девушек присылают свои решения по задачам, что не может не радовать 😊
Свои варианты решений прислали: @sshhaaggy, @mrmeison, @ckpinka, @yuliok_07
Ребят, спасибо за вашу активность! 👍
http://telegra.ph/Task-43-1-Korobki-11-22
У нас все больше девушек присылают свои решения по задачам, что не может не радовать 😊
Свои варианты решений прислали: @sshhaaggy, @mrmeison, @ckpinka, @yuliok_07
Ребят, спасибо за вашу активность! 👍
http://telegra.ph/Task-43-1-Korobki-11-22
Telegraph
Task 43_1. Коробки
Задача: На столе лежат коробка размера A1 × B1 × C1 и коробка размера A2 × B2 × C2. Выясните можно ли одну из этих коробок положить в другую, если разрешены повороты коробок вокруг любого ребра на угол 90 градусов. Реализация: @sshhaaggy прислал нам решение…
🎓 Анонс задачи 44: Часы с боем (решение будет в субботу)
Старинные часы бьют каждые полчаса.
Причем в начале каждого часа они бьют столько раз, сколько сейчас часов
(по 1 разу – в час ночи и в час дня, по 2 раза – в два часа ночи и в два часа дня и т.д., в полночь и в полдень они бьют, соответственно, по 12 раз).
И еще 1 раз они бьют в середине каждого часа.
Дан промежуток времени (известно, что прошло строго меньше 24 часов).
Моменты времени задаются двумя числами, первое число задает часы (от 0 до 23), второе – минуты (от 1 до 59, при этом оно не равно 30).
Определить сколько ударов сделали часы за это время.
Старинные часы бьют каждые полчаса.
Причем в начале каждого часа они бьют столько раз, сколько сейчас часов
(по 1 разу – в час ночи и в час дня, по 2 раза – в два часа ночи и в два часа дня и т.д., в полночь и в полдень они бьют, соответственно, по 12 раз).
И еще 1 раз они бьют в середине каждого часа.
Дан промежуток времени (известно, что прошло строго меньше 24 часов).
Моменты времени задаются двумя числами, первое число задает часы (от 0 до 23), второе – минуты (от 1 до 59, при этом оно не равно 30).
Определить сколько ударов сделали часы за это время.
#conf
Думаю многие заинтересуются, судя по темам неплохая конференция для программистов.
Спойлер: будет в Питере:)
https://events.epam.com/events/itsubbotnik-winter-2017
Думаю многие заинтересуются, судя по темам неплохая конференция для программистов.
Спойлер: будет в Питере:)
https://events.epam.com/events/itsubbotnik-winter-2017
Решения 44й задачи от наших подписчиков: @oleksm, @yuliok_07
http://telegra.ph/Task-44-1-CHasy-s-boem-11-25
http://telegra.ph/Task-44-1-CHasy-s-boem-11-25
Telegraph
Task 44_1. Часы с боем
Задача: Старинные часы бьют каждые полчаса. Причем в начале каждого часа они бьют столько раз, сколько сейчас часов (по 1 разу – в час ночи и в час дня, по 2 раза – в два часа ночи и в два часа дня и т.д., в полночь и в полдень они бьют, соответственно, по…
🎓Анонс задачи 45: Положить плитку (решение будет во вторник)
Коридор NxM метров нужно застелить N плитками 1xM метров, чтобы не было не застеленной поверхности.
Нужно написать функцию, ктр найдет кол-во способов это сделать.
Например, для коридора 6x4 метра существует 4-е способа застелить плитками 1x4 (см.схематический рисунок выше)
Коридор NxM метров нужно застелить N плитками 1xM метров, чтобы не было не застеленной поверхности.
Нужно написать функцию, ктр найдет кол-во способов это сделать.
Например, для коридора 6x4 метра существует 4-е способа застелить плитками 1x4 (см.схематический рисунок выше)
#c_sharp #dynamic_programming
Итак, решение задачи 45: Положить плитку
Задача была из раздела динамического программирования.
http://telegra.ph/Task-45-Plitki-11-13
Итак, решение задачи 45: Положить плитку
Задача была из раздела динамического программирования.
http://telegra.ph/Task-45-Plitki-11-13
Telegraph
Task 45. Положить плитку
Задача: Коридор NxM метров нужно застелить N плитками 1xM метров, чтобы не было не застеленной поверхности. Нужно написать функцию, ктр найдет кол-во способов это сделать. Например, для коридора 6x4 метра существует 4-е способа застелить плитками 1x4 (см.схематический…
Видимо не многие любят задачи по динамике 😁
Варианты решений 45й задачи от наших подписчиков: @yuliok_07, @Formeme
http://telegra.ph/Task-45-1-Polozhit-plitku-11-28
Варианты решений 45й задачи от наших подписчиков: @yuliok_07, @Formeme
http://telegra.ph/Task-45-1-Polozhit-plitku-11-28
Telegraph
Task 45_1. Положить плитку
Задача: Коридор NxM метров нужно застелить N плитками 1xM метров, чтобы не было не застеленной поверхности. Нужно написать функцию, ктр найдет кол-во способов это сделать. Например, для коридора 6x4 метра существует 4-е способа застелить плитками 1x4. Реализация:…
#junior
🎓 Анонс задачи 46: Разворот числа (решение будет в пятницу)
Дано натуральное число N.
Напишите функцию для реверса этого числа. Функция должна вернуть число, нельзя выводить результат по одной цифре.
Условие:
Нельзя использовать циклы, преобразование в строки, списки/массивы.
🎓 Анонс задачи 46: Разворот числа (решение будет в пятницу)
Дано натуральное число N.
Напишите функцию для реверса этого числа. Функция должна вернуть число, нельзя выводить результат по одной цифре.
Условие:
Нельзя использовать циклы, преобразование в строки, списки/массивы.
#c_sharp #junior #recursion
Итак, решение 46й задачи: Разворот числа
P.S. мне многие прислали свои решения 46й задачи.
Ребят, спасибо вам огромное за вашу активность! 👍🏻
Но в этот раз не будет пользовательских решений, т.к. задача не сложная. А ее главная фишка в рекурсии.
http://telegra.ph/Task-46-Razvorot-chisla-11-20
Итак, решение 46й задачи: Разворот числа
P.S. мне многие прислали свои решения 46й задачи.
Ребят, спасибо вам огромное за вашу активность! 👍🏻
Но в этот раз не будет пользовательских решений, т.к. задача не сложная. А ее главная фишка в рекурсии.
http://telegra.ph/Task-46-Razvorot-chisla-11-20
Telegraph
Task 46. Разворот числа
Задача: дано натуральное число N. Напишите функцию для реверса этого числа. Функция должна вернуть число, нельзя выводить результат по одной цифре. Условие: Нельзя использовать циклы, преобразование в строки, списки/массивы. Реализация: задача часто дается…