Это репост Evolution «Hello World!» , Изначально написанный пользователем Helka Homba
Он не должен быть закрыт как дублированный, из-за мета-консенсуса здесь .
Оригинал был задан более двух лет назад и последний раз был активным более шести месяцев назад. У меня есть разрешение от Хельки Хомбы, чтобы опубликовать это здесь
Со времени создания оригинала было изобретено много языков, и к сайту присоединилось много людей, которые никогда не имели возможности ответить на оригинал, поэтому я считаю, что этот репост приемлем.
Задача состоит в том, чтобы создать программу, которая печатает 2^n
на стандартный вывод, где n
находится номер вашей программы. Суть в том, что ваша программа должна иметь расстояние Левенштейна 10 или меньше от программы в ответе, представленном перед вами.
Как это будет работать
Ниже я отправлю первый ответ, используя C #, который печатает 2 ^ (n = 1) = 2
.
Следующий отвечающий должен изменить код, добавив до 10 односимвольных вставок, удалений или замен, чтобы при его запуске на языке нового ответа он печатался 2^n
(с n
номером ответа). Например, 25-й ответ (скажем, на Pyth) вывел бы 2 ^ 25 или 33554432.
Это будет продолжаться до тех пор, пока все не застрянут, потому что нет нового языка, на котором можно запустить программу последнего ответа, изменив только 10 символов. Общая цель состоит в том, чтобы увидеть, как долго мы можем продолжать в том же духе, поэтому постарайтесь не делать каких-либо неясных или необоснованных правок персонажей (однако это не является обязательным требованием).
Форматирование
Пожалуйста, отформатируйте ваш пост так:
#Answer N - [language]
[code]
[notes, explanation, observations, whatever]
Где N - номер ответа (увеличивается постепенно, N = 1, 2, 3, ...).
Вам не нужно указывать, какие именно символы были изменены. Просто убедитесь, что расстояние Левенштейна составляет от 0 до 10.
Если вы отвечаете на каком-то языке или полученный код просто беспорядок, пожалуйста, объясните, что вы сделали и почему это работает, хотя это не обязательно.
правила
Главное, что нужно понять в этой задаче, - это то, что только один человек может ответить одновременно, и каждый ответ зависит от предыдущего .
Никогда не должно быть двух ответов с одним и тем же N. Если два человека одновременно отвечают за некоторое N, тот, кто ответил позже (даже если разница составляет несколько секунд), должен любезно удалить свой ответ.
Более того...
- Пользователь не может отправить два ответа подряд. (например, так как я отправил ответ 1, я не могу сделать ответ 2, но я мог сделать 3.)
- Старайтесь не публиковать слишком много ответов в короткие сроки.
- Каждый ответ должен быть на другом языке программирования.
- Вы можете использовать разные основные версии языка, например Python 2/3
- Языки считаются различными, если они традиционно называются двумя разными именами. (Здесь могут быть некоторые неясности, но не позволяйте этому разрушить соревнование.)
- Вам не нужно придерживаться ASCII, вы можете использовать любые символы, которые вы хотите. Расстояние Левенштейна будет измеряться в юникодных символах .
- Вывод должен быть только
2^n
и никаких других символов. (Пробелы в начале / конце хорошо, как и неподавляемый вывод как>>>
илиans=
) - Если у вашего языка нет стандартного вывода, используйте то, что обычно используется для быстрого вывода текста (например,
console.log
илиalert
в JavaScript). - Когда мощность двух, которую вы должны вывести, становится очень большой, вы можете предполагать бесконечную память, но не бесконечный целочисленный размер. Пожалуйста, будьте осторожны с целочисленными переполнениями.
- Вы можете использовать научную нотацию или любой другой естественный способ представления чисел на вашем языке. (Кроме одинарных, НЕ выводить в одинарных)
Пожалуйста, убедитесь, что ваш ответ правильный. Мы не хотим понимать, что в цепочке есть пять ответов. Неправильные ответы должны быть быстро исправлены или удалены, прежде чем появятся дополнительные ответы.
Не редактируйте ответы без крайней необходимости.
счет
Как только все успокоится, побеждает пользователь, предоставивший наиболее (действительные) ответы. Связи переходят к пользователю с наибольшим количеством положительных голосов.
Отредактируйте их, когда отправите ответ:
Leaderboard
13 языков
Okx
8 языков
дирижабль
4 языка
Павел
Джонатан Аллан
Критикси Литос
Райкер3 языка
boboquack
2 языка
bmarks
Конор О'Брайен
разрушаемых арбуза
OVS
Том Карпентер1 язык
Ataco
Блоки
Dennis
dzaima
Эрик Outgolfer
ETHproductions
ghosts_in_the_code
Лео
Линн
Матеус Avellar
Натаниэль
Qwerp-Derp
Р. Кар
Тейлор Скотт
Nimi
Mistah Фиггинс
PidgeyUsedGust
steenbergh
Используемые языки:
- C # (Павел)
- /// (boboquack)
- Retina (Денис)
- Желе (Джонатон Аллан)
- Pyth (бобак)
- > <> (Разрушаемый арбуз)
- Минколанг (Kritixi Lithos)
- Perl (Павел)
- Python (Qwerp-Derp)
- DC (Р. Кап)
- Древесный уголь (Джонатон Аллан)
- Self Модификация BrainFuck (Лев)
- СОГЛ (дзайма)
- ShapeScript (Джонатон Аллан)
- Пайк (бобак)
- Руби (Натаниэль)
- 05AB1E (ов)
- STATA (метки)
- до н.э. (Kritixi Lithos)
- Japt (Okx)
- 2sable (Kritixi Lithos)
- Чеддер (Джонатон Аллан)
- Пилоны (окс)
- Баш (дирижабль)
- Напористый (Okx)
- CJam (Эрик Outgolfer)
- MATL (Okx)
- MATLAB (Том Карпентер)
- Октава (Kritixi Lithos)
- R (ов)
- JavaScript ES7 (Том Карпентер)
- Выпуклый (окс)
- Mathematica (ghosts_in_the_code)
- Пип (Okx)
- Stacked (Конор О'Брайен)
- GolfScript (Okx)
- На самом деле (Линн)
- RProgN (Okx)
- Схема (метки)
- Элемент (Okx)
- J (блоки)
- Cubix (ETHproductions)
- зш (цеппелин)
- VBA (Тейлор Скотт)
- Рыба (дирижабль)
- Ретикулярный (окс)
- Perl 6 (Павел)
- RProgN2 (ATaco)
- PHP (Матеус Авеллар)
- Джольф (Конор О'Брайен)
- Хаскелл (Ними)
- Befunge-98 (Миста Фиггинс)
- Гнуплот (цеппелин)
- QBIC (steenbergh)
- ФОГ (Райкер)
- Qwerty-RPN (Okx)
- Корн Шелл (кш) (дирижабль)
- Юлия (Райкер)
- Питон 3 (Павел)
- Vimscript (Riker)
- Тире (дирижабль)
- Vitsy (Okx)
- csh (цеппелин)
- Ом (окс)
- Бош (дирижабль)
- es-shell (Riker)
- Gol> <> (PidgeyUsedGust)
Этот вопрос лучше всего работает, когда вы сортируете по возрасту .
Ответы:
Ответ 64, Ом , расстояние 10
добавленной
64º,;S)1'a
Только
64º,
фактический код, остальное просто мусор.Эта программа напечатает правильный вывод, но она также запросит некоторые
STDIN
после того, как напечатала 2 64 .источник
Ответ 17: 05AB1E , Расстояние 3
Попробуйте онлайн!
источник
05AB1E
не выдает ошибок.Ответ 24: Баш, дистанция 8
Попробуйте онлайн!
источник
Ответ 51, Хаскелл, дистанция 10
Удалить 2 NL, замените
^
в начале с-
, перед именем другой-
, удалить*
внутриprint
, заменить 2 - й*
с^
, перезапись49
с51
, вставки--
после печати.источник
--
, это означает , что расстояние редактирования меньше, чем предварительное добавление в--
два раза.--
составляет 2 байта, удаляя NL всего 1Ответ 67, Гол> <> , дистанция 6
Мы используем батут,
#
чтобы просто добавить код в обратном порядке. Удаляя могут быть повторно использованы, нуждаясь только 6 символов , которые будут добавлены.S)1'a
;
Попробуйте онлайн!
Я думаю, что сохранение
#
позволяет некоторым другим языкам использовать его как закомментированную строку.источник
Ответ 4: желе расстояние 3
Попробуйте онлайн!
все вставки:
00Ḥ
.0{
и0}
существуют ли для подавления ошибок синтаксического анализа (всплывающие из пустого списка из-за quick{
и}
quick, которые превращают монады в диады, используя левый и правый аргумент соответственно).Ḥ
"unhalves" 8, чтобы сделать 16.источник
{
(послеclass HelloWorld
) не нужен0
перед ним, а два других?()
второй открытой скобки перед первой строкой. Третья строка не может начинаться с фигурной скобки, поскольку нет монады, на которую можно воздействовать.Ответ 5: Pyth
Печатает числовой литерал
32
, затем пробел между2
и"
подавляет печать (автозаполнения) строкового литерала.+4 символа -
32 "
Попробуйте это на herokuapp
источник
Ответ 6 -> <>
заменив пробел на ", код выталкивает 3, 2, 4, затем переворачивает, выталкивает 4,2,3, затем выталкивает 3 из стека и умножает 2, 4, 4, 2 на 64, выводит его и останавливает
Попробуйте онлайн
возможно используйте https://www.fishlanguage.com/playground
источник
Ответ 3: сетчатка , расстояние 3
Добавлен
|\n8
(расстояние 3).Попробуйте онлайн!
источник
Ответ 20: Джапт, расстояние 8
Попробуйте онлайн!
Модификации:
Измененный ,
2^19
чтобы2**20
в начале программы, чтобы вычислить мощность (4)Заменены
#
с$
на первой линии , так что все мимо него интерпретируется как JS (1)В последней строке удалил
/
и добавил*/
в конце программы, чтобы комментарий занимал всю программу (3)источник
Ответ 27: MATL, дистанция 4
Попробуйте онлайн!
добавленной
27W%
Объяснение:
источник
Ответ 50: Джольф, дистанция 10
Попробуй это здесь!
Предварительно
^2@2(
(+5)Удалено
±
иß
из#ß6904±r
(+2)Удалено
ó
изóout
(+1)Удалено
<?
из<?#"#28@P2*
(+2)Всего: 10. Удалите все не-ASCII символы!
объяснение
(
прекращает синтаксический анализ, поэтому код выглядит так:источник
Ответ 52. Befunge-98 , дистанция 8 + 2
Спасибо @DestructibleWatermelon за игру в гольф!
Попробуйте онлайн!
Добавлено
'3k
до2
и'2k*.
между2
и@
.--
ничего не делает,'3k2
кладет 52 2s в стек и'2k*.@
умножает их вместе, печатает число и выходитКроме того, я добавил
d"
после,printf("%
чтобы облегчить жизнь других людей, так как у меня было 2 дополнительных персонажа. Это не влияет на программу Befunge-98.источник
Ответ 42: Cubix , расстояние 8
Попробуйте онлайн!
lert(2**31
В середине было изменено44******O@
.источник
Ответ 60, Vimscript, дистанция 10
Изменил 2
#
в начале двух средних строк на"
, добавил"
перед первой и:py<space>
перед последней строкой.В целях разъяснения:
"
является строковым комментарием в vimscript (по крайней мере, в начале строки), и его не нужно сопоставлять.Vim может запускать код Python, так что это действительно эквивалентно запросу Python для ответа.
источник
Ответ 8: Perl
Точно расстояние 10: +4
#
для комментариев, +1 новая строка послеSystem.Console.
, +3 для преобразованияwrite
вprint
, +2 для превращения2
в256
.Я не собирался участвовать, но я хотел удостовериться, что были добавлены некоторые регулярные langs, прежде чем что-то стало слишком безумным.
Попробуйте онлайн!
источник
Ответ 49: PHP, дистанция 6
Добавлены
<?
и?>
для открытия и закрытия тегов PHP, соответственно.Заменено
48
на49
.#
начинает комментарий на PHP, поэтому ничего не рассматривается, кромеВот скриншот правильного синтаксиса highlihgting и вывода, чтобы помочь визуализировать:
источник
Ответ 2: ///
+4 символа -
///4
Попробуйте онлайн!
источник
Different versions of the same language count as the same language.
список «Python» в разделе «Используемые языки ...» кажется достаточно хорошим.Ответ 7: Минколанг , Расстояние: 4
Попробуйте онлайн!
Я добавил
7;N.
в программу. В основном3
,2
и7
выталкиваются в стек, а затем 2 увеличивается до седьмого использования энергии;
. Затем он выводится какN
Umber, а затем программа останавливается на.
источник
Ответ 11: Древесный уголь , расстояние 5
Попробуйте онлайн!
Заглавные греческие буквы
A
иβ
являются переменными, которым присваиваются следующие символы ASCII. Окончательное значение неявно печатается.источник
10
? Мой был 10-й ответ.⎚
(ясно), это будет корочеОтвет 10: DC , расстояние 5
Вот действительная
dc
программа, которая выводит1024
.Попробуйте онлайн!
источник
Ответ 12: самоизменяющийся Brainfuck
Попробуйте онлайн!
SMBF похож на мозговую шутку, за исключением того, что исходный код доступен на ленте слева от начальной позиции. Здесь у нас есть номер для обратной печати в конце кода, и мы делаем
<.
четыре раза, чтобы напечатать все четыре цифры.Я добавил
<
перед каждым.
в коде (их было 3) дополнительный<.
и изменил окончательный номер. Расстояние должно быть 8.источник
Ответ 29: октава , расстояние: 1
Попробуйте онлайн!
Все , что я должен был сделать , чтобы изменить
28
к29
источник
Ответ 31: JavaScript ES7, расстояние 7
ES7 поддерживает
**
оператора для питания.Вы можете попробовать онлайн здесь .
источник
Ответ 33: Mathematica, дистанция 9
объяснение
Помещает все в комментарии и выводит 2 ^ 33
Пожалуйста, убедитесь, что этот ответ действителен, прежде чем ставить свой, потому что я новичок в этом и не хочу в конечном итоге разорвать цепь.
источник
Ответ 37: На самом деле , расстояние 7
Заменено
36?#
на:37@ⁿ.ó
.Попробуйте онлайн!
источник
Ответ 38: RProgN, расстояние 10
Попробуйте онлайн!
Заменены
2:37
на2 38 ^ exit
(10) (обратите внимание на завершающий пробел)Объяснение:
источник
Ответ 47: Perl 6 , дистанция 10
Perl 6 считается отличным от Perl. Я попытался настроить C в будущем, добавив
"%
послеprintf
, надеюсь, кто-то использует это.Попробуйте онлайн!
источник
Ответ 48: RProgN2 , дистанция 9
Добавил
"
к началу, который остановил все от взлома,[[[
в конце очищает память и268*^
вычисляет новый ответ. Неявно напечатано.Попробуйте онлайн!
источник
Ответ 66, es (shell) +
bc
, дистанция 8Измененный ,
exit
чтобыquit()
, и добавилiker
после того , как первыйr
. Я не смог устоять и хотел добавить еще 4 персонажа.источник