Вопросы с тегом «stack»

Для задач, связанных со стековыми структурами данных (подробности см. Вики-тегах), включая интерпретаторы языков программирования на основе стеков, а также проблемы, касающиеся стеков вызовов.

146
Самый странный способ вызвать переполнение стека [закрыто]

Как программист, вы наверняка знаете ошибку переполнения стека из-за очевидной рекурсии. Но, конечно, есть много странных и необычных способов заставить ваш любимый язык выплюнуть эту ошибку. Цели: Должно вызывать переполнение стека, которое хорошо видно на выходе ошибки. Не допускается...

44
Реализация стека

Я не могу поверить, что у нас этого еще нет ... Это одна из самых важных структур данных в программировании, но все же достаточно простая, чтобы реализовать ее в коде-гольфе : Вызов Ваша задача состоит в том, чтобы реализовать стек, который позволяет вставлять и выталкивать числа, тестировать вашу...

41
Является ли это число целой степенью -2?

Есть умные способы определить, является ли число степенью 2. Это больше не интересная проблема, поэтому давайте определим, является ли данное целое число целой степенью -2 . Например: -2 => yes: (-2)¹ -1 => no 0 => no 1 => yes: (-2)⁰ 2 => no 3 => no 4 => yes: (-2)² правила Вы...

35
Покрытие каждый блин

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

29
Проверьте решение Башни Ханоя

Если вы не знаете, что такое Ханойская башня , я кратко объясню: есть три стержня и несколько дисков, каждый из которых имеет свой размер. В начале все диски находятся на первой башне в отсортированном порядке: самый большой внизу, самый маленький сверху. Цель состоит в том, чтобы перенести все...

28
Гольф Брейн-Флак Целое

Целые числа утомительно представлять в Brain-Flak . Есть 8 операторов: () Evaluates to 1, but does not push anything on any stack [] Evaluates to an indeterminate value for the purposes of this question {} Removes the top of the stack and evaluates to it <> Switches to or back from the...

28
Возьми или оставь: игровое шоу для компьютеров

Контекст: Миллиардер-затворник создал игровое шоу для привлечения лучших и самых ярких программистов мира. По понедельникам в полночь он выбирает одного человека из числа претендентов на участие в неделе и предоставляет им игру. Вы счастливчик на этой неделе! Игра на этой неделе: Хост предоставляет...

27
Листать блины

При сортировке блинов единственной допустимой операцией является обращение элементов некоторого префикса последовательности в обратном порядке. Или подумайте о стопке блинов: вставляем где-то в стопку шпатель и переворачиваем все блины над шпателем. Например, последовательность 6 5 4 1 2 3может...

25
Звездный Метагольф

Starry - забавный эзотерический язык программирования, в котором код состоит только из того, +*.,`'где фактическая команда, представленная каждым из этих символов, определяется количеством пробелов перед ним. Это делает его сложным даже для задач с фиксированным выходом, потому что разные команды...

25
Оценка строк Дотти

Напишите программу, которая принимает строку нечетной длины, содержащую только символы .и :. С помощью изначально пустого стека сгенерируйте число из этой строки следующим образом: Для каждого символа c в строке (идущего слева направо) ... Если c есть, .а в стеке менее 2 элементов, нажмите 1 в...

23
Проблема сгоревшего блина

Эта проблема связана с Flipping Pancakes . Возможно, вы слышали о сортировке блинов , когда стопка блинов сортируется по размеру, вставляя шпатель в стопку и переворачивая все блины над лопаточкой, пока блины не будут отсортированы наименьшим по величине на тарелке. Проблема сгоревшего блина...

22
Номера StickStack

StickStack - это очень простой язык программирования, основанный на стеке, с двумя инструкциями: | толкает длину стека на стек -извлекает два верхних элемента из стека и возвращает их разницу ( second topmost - topmost) Детали языка Стек пуст в начале программы. Все инструкции выполняются...

21
Интерпретировать> <> (Рыба)

Хотя> <> не является популярным языком, он может быть хорош для игры в гольф и использовался на этом сайте. Он был вдохновлен Befunge и имеет некоторые сходства в инструкциях. Обязательные команды: > < ^ v Изменяет направление указателя инструкции (вправо, влево, вверх, вниз) / \ | _...

21
Ханойская башня

Напишите функцию / подпрограмму для сортировки списка целых чисел, стиль Ханойской башни . Вы получите стек целых чисел. Это основной стек. Вам также дают еще два стека помощников. Эти вспомогательные стеки имеют уникальное свойство: каждый элемент должен быть меньше или иметь тот же размер, что и...

20
Возьми или оставь II: игровое шоу для компьютеров

Это вторая из серии головоломок, которые я буду публиковать каждый понедельник в полночь по тихоокеанскому времени. Первая головоломка находится здесь . Контекст: Миллиардер-затворник создал игровое шоу для привлечения лучших и самых ярких программистов мира. По понедельникам в полночь он выбирает...

19
Перевести прелюдию на Befunge

Это еженедельный вызов № 2. Тема: Перевод Напишите программу или функцию, которая принимает исходный код для программы в Prelude и выводит код для эквивалентной программы в Befunge-93 . Для того чтобы программа была эквивалентной, она должна для любого заданного ввода выдавать тот же результат, что...

19
Немного рассола

Модуль Python Pickle используется для сериализации, позволяя создать объект таким образом, чтобы впоследствии его можно было восстановить. Для этого pickle использует простой язык на основе стека. Для простоты мы будем иметь дело с небольшим подмножеством этого языка: ( Push a mark to the stack...

18
Вот как мы катимся

Piet - интересный язык программирования по ряду причин. Сегодня мы остановимся на одной причине: команда крена . Команда roll была изначально написана на PostScript и является мощным способом манипулирования стеком. Команда roll выводит на экран два верхних элемента стека и использует их в качестве...

18
Напишите классическую интерпретацию мозга!

Brain-Flak (помесь Brainf ** k и Flak-Overstow) является основанным на стеке эзотерическим языком. С тех пор как этот вызов был опубликован, язык развивался и обновлялся, но эта первая редакция языка известна как «классическая мозговая атака». Вы должны написать программу или функцию, которая берет...

18
Построить переводчик для несуществующего языка

Создайте интерпретатор для поддельного стекового языка, который получает входные данные, интерпретирует их и выводит результат в виде массива чисел. Он должен перебирать каждый байт и выполнять разные функции на основе этой таблицы: 0000 (0): объединить (объединить два верхних числа в стеке, как...