Друга панель інструментів MacGyver


16

У цьому запиті кожна відповідь отримає "панель інструментів", яку можна використовувати для побудови програми / функції. Панель інструментів складається з двох речей:

  • список мов програмування

  • список дійсних символів

Ви повинні написати дійсну програму / функцію на одній з мов, наданих лише символами в панелі інструментів. Ваша програма / функція повинна вивести кількість відповідей, вже присутніх на це питання.

Після того, як ви написали та опублікували відповідь, мова та введені вами символи будуть видалені з панелі інструментів, а 1 нова мова та 8 нових символів будуть випадковим чином додані для використання в якості інструменту для наступної відповіді.

Правила

  • Кожна відповідь:

    • Виведіть кількість дійсних відповідей, що надходять до нього
    • Містять підмножину символів, що містяться в панелі інструментів для цієї відповіді. (Допускаються повтори)
    • Перебувайте на одній з мов із наданої панелі інструментів
  • Наступна панель інструментів визначатиметься цією програмою python. Для генерації чергової панелі інструментів помістіть інші мови та символи разом з ідентифікатором повідомлення останньої відповіді.

  • У цьому мовному списку перелічені всі мови, які можна спробувати в режимі он-лайн під час публікації. Символи мають знаки коду 0-127.

  • Ви можете написати повну програму або функцію як свою відповідь. Оскільки REPLs є різними мовами, вони заборонені. (використовувати TIO версію кожної мови)

  • Якщо мова використовує спеціальне кодування, символи слід інтерпретувати як байти (розшифровуються з ASCII і забиваються нулем).

  • Початковий набір інструментів буде рандомізований з цього питання id id ( 128464 ), для початку буде 7 мов, і я додаю символи echoprint0та ascii 0-31 безкоштовно, щоб люди почали працювати.

  • Ви можете не відповідати двічі поспіль

Оцінка балів

Кожен раз, коли людина відповідає, вона отримуватиме ряд балів за свою відповідь. Мета - отримати якомога більше балів. За відповідь мовою X ви отримаєте стільки ж витків, скільки мова X втратила невикористання в панелі інструментів. Наприклад, перша людина, яка відповість, отримає 1 бал, оскільки мова була лише додана до панелі інструментів. Не обов’язково буде кінця, і я не буду приймати жодної відповіді.

Спортивні

Це змагання, але я закликаю вас ставити задоволення над перемогою, поки все ще залишаєтесь конкурентоспроможними (якби я міг зробити критерії виграшу "веселістю", - сказав би. Деякі речі, які не цікаві:

  • Навмисно використовуючи символи, вам не потрібно трюкувати майбутні відповіді.
  • Спроба грати в систему системи Post id, щоб зробити майбутні скриньки інструментів більш важкими у використанні.
  • Спроба грати в систему системи ідентифікації пошти, щоб зробити майбутні скриньки інструментів простішими у використанні.

Я нікому не можу завадити цим займатися, але я буду забороняти будь-які відповіді, на які я підозрюю, що роблять це.

З позитивнішої уваги, ось деякі речі, які добре займаються спортом та заохочуються:

  • Координація з іншими користувачами в чаті.
  • Збереження символів для більш жорстких або обмежувальних мов

Це друга ітерація виклику, знайденого тут . Це покращує ряд проблем з першою. Ось мета, що обговорює ці питання.


Який перший інструментарій?
CalculatorFeline

@CalculatorFeline Його пов'язане з питанням, воно закладається з ідентифікатором питання.
Опублікувати Rock Garf Hunter

1
@tuskiomi старіші запитання та новіші питання створюються тією ж особою, і старіші запитання доцільно закрити як дублікати нових, кращих питань.
Стівен

2
@tuskiomi Найбільша різниця - кількість символів, що додаються в пісочницю кожного разу. Раніше це було 12, що швидко вийшло з-під контролю, це означає, що практично кожна відповідь мала всі доступні ASCII. Я знизив його до 8, яка була середньою кількістю символів, використаних усіма відповідями в останній версії. Я погодився б, що різниця в насінні та оцінці - це незначні зміни, але зменшення символів - це ціла причина, що я зробив другу ітерацію.
Опублікувати Rock Garf Hunter

1
Я майже впевнений, що це неможливо. Програми Str вимагають ;(не в панелі інструментів) робити що-небудь, коли не вводяться дані. Програми Condit і Tcl потребують пробілу (не в надмірній скриньці) як частини синтаксису. Потреби в схемі (. Brain-Flak з незрозумілих причин не може працювати (розуміє його лише символ у панелі інструментів )). Java 8 {для оголошення функції потребує (не в панелі інструментів). Це залишає лише максимуми, які, на мою думку, не можуть надрукувати речі без "друку" або оголосити функцію без використання дужок.
pppery

Відповіді:


8

Це неможливо

Переглядаючи всі мови в langbox:

  1. Мова програмування tcl складається з слів, розділених пробілами. Знаку пробілу немає в панелі інструментів, тому не можна записати жодних дійсних програм.
  2. Str програми за замовчуванням введення перетворення. Для того, щоб вони зробили що-небудь, коли не вводили даних, ;потрібен символ, якого немає в панелі інструментів.
  3. Єдиний засіб для програми в схемі chez робити що-небудь - це викликати функцію за допомогою дужок. Тому всі програми-схеми потребують (символу, якого немає в панелі інструментів
  4. Програмам Brain-Flak потрібні збалансовані дужки. Єдиний символ дужки в панелі інструментів ), тому ніякі програми, що містять збалансовані дужки, неможливі.
  5. Подібно до схеми, програми maxima вимагають, щоб круглі дужки нічого не робили.
  6. Програми Java вимагають, щоб послідовності символів {або ->символів оголосили функцію (і всі повні програми потребують принаймні однієї функції), жодна з яких не знаходиться в панелі інструментів.
  7. Програми Condit вимагають слова when, яке містить символ "e", якого немає в панелі інструментів.

Докази неможливості допускаються як відповіді



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