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

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

21
Розшифровка кольорів XKCD
Рендалл Манро (автор XKCD) провів опитування, щоб дати імена кольорам . Основний результат - перелік імен 954 найпоширеніших кольорів монітора RGB . Для зручності програмування ось список у простому тексті: http://xkcd.com/color/rgb.txt . Остерігайтеся, перший рядок не є даними, але містить ліцензію. Напишіть програму або функцію, яка приймає дійсне ім'я кольору …

3
Побудуйте п'ятикутник, уникаючи використання компаса
Правила Ви почнете з тільки два елементи: Точки і такі , що . Ці точки займають площину, яка нескінченна в усіх напрямках.ААAББBA ≠ BА≠БA \neq B На будь-якому етапі процесу ви можете виконати будь-яке з трьох наступних дій: Накресліть лінію, яка проходить через дві точки. Намалюйте коло з центром в …

13
Занадто багато шпигунів!
Ви воюєте з розгалуженою мережею ворожих шпигунів . Ви знаєте, що кожен шпигун має принаймні одну (іноді множину) фальшивих посвідчень, якими він любить користуватися. Ви дуже хотіли б дізнатися, з якими шпигунами ви насправді маєте справу. На щастя, ваші контррозвідувальні агенти виконують свою роботу і іноді можуть з’ясувати, коли два …
38 code-golf 

28
Виведіть повідомлення Arecibo
Повідомлення Arecibo - це міжзоряне радіозв'язок 1974 року, що містить основну інформацію про людство та Землю, надіслане кульовому зоряному кластеру M13 з надією, що позаземна розвідка може отримати та розшифрувати ... Повідомлення складалося з 1679 двійкових цифр, приблизно 210 байт ... Число 1679 було обрано тому, що воно є напівприкметником …

10
Намалюйте "Cool S"
Вступ Ми всі знаємо крутий S (також відомий як Superman S, Stüssy S, Super S, Skater S, Pointy S, Graffiti S тощо тощо): мільярди школярів у всьому світі намалювали цю S і одразу відчули гордість за себе. У випадку, якщо ви забули або пережили зовсім нехолодне дитинство , ось образ …

3
(A → B) → (¬B → ¬A)
Добре, я думаю, що саме час у нас є ще одне питання про гольф . Цього разу ми збираємось довести загальновідому логічну правду ( A → B ) → ( ¬ B → ¬ A )(A→Б)→(¬Б→¬А)(A \rightarrow B) \rightarrow (\neg B \rightarrow \neg A) Для цього ми скористаємось третьою схемою …
38 logic  proof-golf 

23
Симпатичні поліноми друку
Вступ Люди - чудовий вид, але ми можемо бути дуже незручними для розуміння іноді - особливо для комп'ютерів. Зокрема, нам здається, що ми хочемо писати поліноми в дуже складній формі з наче довільними правилами. Яку найкоротшу програму ви можете написати, щоб правильно відформатувати поліном, використовуючи ці правила? Виклик Вхідні дані …

30
Дуже довга Терза Ріма
Опис Виведіть схему римування для дуже довгої Терза-Рими. Вхідні дані Немає. Вихідні дані ABA BCB CDC DED EFE FGF GHG HIH IJI JKJ KLK LML MNM NON OPO PQP QRQ RSR STS TUT UVU VWV WXW XYX YZY Правила Ви можете вибрати між розділеннями строф пробілами або новими рядками, так …

22
Сховати голку в копиці сіна (копи)
Це частина виклику копів та грабіжників . Ідіть сюди за грабіжниками. Виклик копів Ви повинні написати програму або функцію на обраній вами мові, яка виводить рядок Haystack. Однак повинно бути можливість видалити деяку підмножину символів із вашої програми (не упорядковуючи решту), так що результуюча рядок також є дійсною програмою на …

23
Виведіть прем'єр-клас Троїцького залу
Виходячи з цього питання Math.SE ; номер скопійований з цієї відповіді . Номер , звичайно, з відеофільмів Numberphile , звичайно. Ваше завдання - вивести таке 1350-розрядне просте число: 888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888111111111111111111111111888888111111111111111111111111888888111111811111111118111111888888111118811111111118811111888888111188811111111118881111888888111188811111111118881111888888111888811111111118888111888888111888881111111188888111888888111888888111111888888111888888111888888888888888888111888888111888888888888888888111888888111888888888888888888111888888811188888888888888881118888188811188888888888888881118881188881118888888888888811188881118888111888888888888111888811111888811118888888811118888111111188881111111111111188881111111118888111111111111888811111111111888811111111118888111111111111188881111111188881111111111111118888811118888811111111111111111888881188888111111111111111111118888888811111111111111111111111888888111111111111111111111111118811111111111111111111111111111111111111111111062100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 Ви можете необов'язково включати нові рядки у висновок. Правила Це колгогоров-складність , тому ніякого введення немає. Ваша програма повинна закінчитися протягом …

26
Складання квадратних слів
Змагання Ваше завдання - створити програму, яка приймає будь-який заданий рядок і виводить вхід у форматі квадрата. Порожні рядки повинні повертати порожній рядок. Приклади З огляду на вхід: golf Ваша програма повинна виводити: golf o l l o flog Вхід: 123 Вихід: 123 2 2 321 Вхід: a Вихід: a …

30
Чи є це число факторіальним?
Завдання З огляду на натуральне число як вхідне, ваше завдання полягає в тому, щоб вивести значення "truthy" або "falsey" виходячи з того, чи є вхідним фактором будь-якого натурального числа. Ви можете припустити, що вхідне число завжди буде знаходитись у діапазоні чисел, підтримуваних вашою мовою, але ви не повинні зловживати нативними …

22
Поверніть мені 22,5 трояндою
Дано рядок, що є одним із напрямків на 16-кратній компасній троянді виведіть два напрямки, які безпосередньо примикають до напрямку введення, за годинниковою стрілкою. Зокрема, вам потрібно обробити ці (і лише ці) пари введення / виводу: Input Output N NNW NNE NNE N NE NE NNE ENE ENE NE E E …

30
Вихідні номери до 2 ^ n-1, "відсортовані"
Візьміть натуральне число n як вхідне, а вихідне (деякі з) десяткових чисел, які можна створити за допомогою n біт, упорядковано таким чином: Спочатку перелічіть усі числа, які можна створити лише одним 1, а решта 0у двійковому поданні (відсортовано), потім усі числа, які можна створити з двома поспіль 1 , рештою …

30
Ваша власна інструкція «за»
Ваша власна інструкція "за" Припустимо, що у вас є наступний вклад: a, b, c, d Введення може бути в одному рядку, використовуючи будь-який формат "a / b / c / d" або "a, b, c, d" тощо. Ви також можете мати 4 входи. Ви повинні кодувати таку поведінку (псевдокод тут): …
38 code-golf 

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