Головоломки для програмування та коди для гольфу

Q & A для програмування головоломки ентузіастів і код гольфістів

15
Розширюється масив
З огляду на два натуральних числа p і q , ваше завдання - повернути масив A, створений за допомогою наступного алгоритму: Почніть з A = [p, q] і d = 2 Для кожної пари (x, y) суміжних чисел у A , сума яких ділиться на d , вставіть (x + …

22
Виріжте квадрат з нитки
Ваша задача сьогодні - взяти багаторядковий рядок і вивести найбільшу площу, що міститься в рядку, що включає верхній лівий кут. Квадратний рядок - це той, де: Кожен рядок має однакову кількість символів Кількість символів у кожному рядку дорівнює кількості рядків. Розглянемо наступний можливий рядок введення: abcde fgh asdf foobar Найбільший …
21 code-golf  string 

12
Давайте складемо дієту Хаскелл
У Haskell є кортежі, які можна записати як (a,b,c) Однак це лише синтаксичний цукор для (,,)a b c Загалом, n кортеж може бути утворений з n-1 , s між (... з )подальшими його елементами, розділеними пробілами. Наприклад, 7-кортеж (1,2,3,4,5,6,7)може бути утворений за допомогою (,,,,,,)1 2 3 4 5 6 7 …

9
Слова, що перехрещуються
Вхід: Два рядки (ПРИМІТКА: порядок введення важливий). Вихід: Обидва слова / речення починаються на рядках з одного порожнього рядка між ними. Вони 'ходять' горизонтально 'поруч'. Але коли у них однаковий персонаж на одній і тій же позиції, вони перетинаються один з одним, а потім продовжують ходити «поруч». Заплутано ви кажете? …

17
Зійдемо до 9!
З огляду на ціле число n> 2 , роздрукуйте або поверніть найменше невід'ємне ціле число k таке, що a (n, k) = 9 , де a (n, k) визначається: a (n, 0) = n a (n, k + 1) = a (n, k) / 2 + 1, якщо a (n, …

8
Чи можете ви порахувати кількість прямокутників?
Одне з моїх улюблених математичних занять - намалювати прямокутну сітку, а потім знайти всі прямокутники, які видно в цій сітці. Ось візьміть це запитання і ризикніть для себе! Чи можете ви порахувати кількість прямокутників? +-----+-----+-----+-----+ | | | | | | | | | | +-----+-----+-----+-----+ | | | | …

19
Черговий трикутник Паскаля
Трикутник Паскаля генерується, починаючи з 1кожного рядка, утвореного з послідовних додань. Тут замість цього ми сформуємо трикутник шляхом чергування множення та додавання. Починаємо рядок 1просто з одинокою 1. Після цього додавання робиться на непарні рядки, а множення робиться на парні рядки (1-індексується). Виконуючи крок додавання, припустимо, що проміжки поза трикутником …

18
Це дійсна дошка Takuzu?
Takuzu - це логічна гра, в якій вам доведеться заповнити сітку з клітинками, що містять 0s і 1s. Сітка повинна відповідати 3 правилам: Немає трьох горизонтальних або вертикальних послідовних комірок не може бути однаковим. У кожному рядку та стовпці повинно бути однакове число 0s і 1s. Жоден два рядки не …

1
Гольфінг-рядкові літерали Python
Фон У Python 3 є багато типів рядкових літералів. Наприклад, рядок this 'is' an exa\\m/pleможе бути представлений у вигляді: 'this \'is\' an exa\\\\m/ple' "this 'is' an exa\\\\m/ple" r"this 'is' an exa\\m/ple" '''this 'is' an exa\\\\m/ple''' """this 'is' an exa\\\\m/ple""" r'''this 'is' an exa\\m/ple''' r"""this 'is' an exa\\m/ple""" Як бачите, використовуючи …

25
Максимальний масив
Визначте "максимальний підмасив" даного масиву як "(послідовний) масив, який має найбільшу суму". Зауважте, немає ніякої "ненульової" вимоги. Виведіть цю суму. Дайте опис свого коду, якщо це можливо. Зразок введення 1: 1 2 3 -4 -5 6 7 -8 9 10 -11 -12 -13 14 Вибірка зразка 1: 24 Опис 1: …

14
Ослаблені бінарні стіни
Натхненний створенням бінарної стіни Враховуючи список натуральних чисел, ми можемо виписати їх над собою, [2, 6, 9, 4]як приклад: 0010 0110 1001 0100 Ми можемо уявити це як стіну: ..#. .##. #..# .#.. Однак це дуже слабка стіна, і вона обвалилася! Кожен 1( #) падає вниз, поки не потрапить на …

9
Обчисліть зворотну цілу модуль 100000000003
Завдання наступне. З огляду на ціле число x(таке, що xмодуль 100000000003не дорівнює 0), представлене у вашому коді будь-яким способом, який вам здається зручним, виведіть інше ціле число y < 100000000003так, щоб (x * y) mod 100000000003 = 1. Код повинен зайняти менше 30 хвилин, щоб запустити на стандартній настільній машині …

20
І все ж невикористані пари
Давайте визначимо послідовність натуральних чисел. Ми визначимо послідовність на парних числах, щоб бути подвоєною попереднього члена. Непарні показники послідовності будуть найменшими додатними цілими числами, які ще не з’являються в послідовності. Ось перші терміни пари. 1,2,3,6,4,8,5,10,7,14,9,18,11,22,12,24,13,26,15,30 Ви також можете вважати це списком з'єднаних пар (n, 2n), де n - найменше невикористане …

7
Візьміть це хмурення і переверніть його
Святкування багатьох облич APL З огляду на рядок серед стовпців 1 або стовпця 2 таблиці нижче, поверніть сусідку рядка праворуч. Іншими словами, якщо дано рядок у стовпці 1, тоді поверніть рядок стовпця 2 у цьому рядку, а якщо дано рядок у колонці 2, то поверніть рядок стовпця 3 у цьому …

14
Переверніть рядок всередину
Збалансований рядок - це рядок дужок, ()так що кожна дужка може бути зіставлена ​​з іншою. Більш суворо вони являють собою рядки, що охоплюються цією граматикою: S → (S)S | ε Ми можемо перетворити рядок "зсередини": Переключення всіх подій (та )між собою Переміщення символів від передньої частини струни до задньої, поки …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.