Мета - написати програму, що кодує іншу програму (вхід) з найменшим можливим символом.
Оцінка балів
- Оцінка дорівнює різній кількості символів, необхідних для виводу.
- Нижча оцінка - краща.
Правила
- Немає цільових мов з обмеженим набором команд. (Немає Brainf ** k, пробіли тощо)
Редагувати : я маю на увазі щонайменше 26 значущих символів,A
не змінюючи спосіб роботи програми brainf ** k, тому ви не можете рахувати цього персонажа. Те ж стосується і білого простору. - Мова цілі повинна існувати на момент написання цього запитання.
- Ви повинні додати невелике пояснення того, як ви архівуєте свій рахунок.
- Програма введення дійсна.
- Зашифрована програма повинна бути дійсною програмою на тій же мові, що і вхідна.
- Зашифрована програма повинна виконувати ту саму роботу, що і вихідна програма.
- Ваш кодер повинен працювати для кожної дійсної програми на цій мові.
- Включіть деякий зразок введення та виводу.
Примітки
- Кодер може бути написаний будь-якою мовою, а не лише мовою, на яку націлено.
- Це не гольф з кодом , рекомендується читати програми.
- Велика мета - побачити, скільки різних символів потрібно, щоб написати що-небудь на цій мові. Я заборонив BF тощо, тому що не було б жодних викликів.
- На це надихнуло Друк рядка якомога менше чітко виражених символів , ви можете прийняти це як метагольф для цього питання.
Приклад
У Java ви можете використовувати \uXXXX
замість інших символів. Дійсний запис таким чином кодує кожен символ із введення. Це матиме бал 18. ( \ 0-9a-f
)
Код у Tcl, кодує програму Java:
set res {}
foreach char [split [read stdin] {}] {
append res [format \\u%04x [scan $char %c]]
}
puts $res
gets
читає лише один рядок введення? І ви пропустили u
в кодері (але, з іншого боку, вам не потрібно місця, і, таким чином, оцінка залишається такою ж).